You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#游戏开发用Newtonsoft JSON反序列化遇解析错误求解决

解决Newtonsoft JSON反序列化错误:"Unexpected character encountered while parsing value: C..."

错误原因很直接:你调用JsonConvert.DeserializeObject<GameInfo>()时传入的是文件路径字符串,而这个方法需要的是JSON格式的内容字符串。路径的第一个字符是磁盘盘符(比如"C"),不符合JSON语法,所以触发了解析错误。

你的JSON数据和GameInfo模型定义都是正确的,只需要修改代码逻辑,先读取文件里的JSON内容,再进行反序列化:

修正后的完整代码

string path = Application.persistentDataPath + "/testtesJSON";

// 1. 先读取文件中的JSON内容
string jsonContent = File.ReadAllText(path);

// 2. 反序列化为GameInfo对象
var gameInfo = JsonConvert.DeserializeObject<GameInfo>(jsonContent);

// 3. 更新数据(示例:提升下一级关卡)
gameInfo.NextLevel += 1;

// 4. 将更新后的对象序列化为JSON并保存回文件
string updatedJson = JsonConvert.SerializeObject(gameInfo, Formatting.Indented);
File.WriteAllText(path, updatedJson);

额外提示

  • 确保目标文件存在且路径正确,若文件可能不存在,可提前判断并初始化默认数据
  • 可添加try-catch块捕获文件读写、JSON解析时的异常,增强代码鲁棒性

内容的提问来源于stack exchange,提问作者Newboy11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:55:26