【问题标题】:Get all json keys and values in c# (Unity)在 c# (Unity) 中获取所有 json 键和值
【发布时间】:2017-01-07 06:20:15
【问题描述】:

有什么方法可以循环进入json 文件并像字典一样打印所有键和值?

示例

foreach (string item in result.Data.Keys)
   {
      Debug.LogError("KEY:"+item);
      Debug.LogError("Value:" + result.Data[item]);
   }

我试过JsonUtility 和简单的json,但我还不能打印KEY value

有什么解决办法吗?谢谢

【问题讨论】:

标签: c# json unity3d


【解决方案1】:

内置的JsonUtility 类仅限于反序列化为普通类和结构。目前似乎不支持反序列化成字典。 LitJSON 更加灵活。

使用 LitJSON:

var deserializedObject = JsonMapper.ToObject(json_text);
foreach(var key in deserializedObject.Keys) 
{
    var value = deserializedObject[key]
}

【讨论】:

    【解决方案2】:

    您可以尝试使用 FullSerializer 代替您的 JSON 文件,它比标准 JSON 实用程序更强大。可从https://github.com/jacobdufault/fullserializer 获得。

    在这种情况下,您可以使用fsData.AsDictionary 将其转换为常规字典。

    fsData data = fsJsonParser.Parse(serializedString);
    // do something with `data.AsDictionary`
    

    然后您将照常迭代生成的字典。

    【讨论】:

    • 我已经删除了我的答案,因为它似乎与 Unity 项目无关。
    猜你喜欢
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    相关资源
    最近更新 更多