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

Unity中JSON解析报错求助:成员名缺失及根节点值错误

解决Unity中JSON解析的两个常见错误

先来说你遇到的第二个错误 "the document root must not follow by other values" —— 这个错误的意思是你的JSON文档在根对象(或根数组)后面还存在多余的内容,比如额外的字符、重复的对象,或者格式错误导致解析器认为根节点结束后还有其他值要解析。

为什么会出现这个问题?

你把原本的JSON {"layout":"xxxxxx"} 改成 {""layout"":""xxxxxx""}" 是错误的操作:

  • 在纯TXT文件里的JSON,键和值的双引号只需要用单个 " 即可,不需要写成两个 ""。"" 这种写法是在C#字符串字面量中表示单个双引号的转义方式,但直接写在TXT的JSON里会被解析器当成两个独立的引号,导致JSON结构完全混乱,进而出现根节点后有多余内容的错误。

正确的JSON格式

你的TXT文件里应该保留最原始的正确JSON:

{"layout":"xxxxxx"}

另外,你的C#代码还有一个潜在问题

看你的ConfigData类:

[Serializable]
public class ConfigData {
    string layout;
}

Unity的JsonUtility只能序列化/反序列化public字段,或者带有[SerializeField]标记的私有字段。所以你需要把layout改成public,或者加上序列化标记:

[Serializable]
public class ConfigData {
    public string layout; // 改成public
    // 或者:[SerializeField] private string layout;
}

总结解决步骤

  1. 把TXT文件里的JSON改回标准格式:{"layout":"xxxxxx"},不要用双引号重复的写法
  2. 确保ConfigData类中的layout字段是public,或者带有[SerializeField]属性
  3. 重新读取TXT文件进行JSON解析,应该就能正常工作了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:26:51