获取c#中的所有json键和值(Unity)

时间:2017-01-07 06:20:15

标签: c# json unity3d

以任何方式循环json文件并打印所有键和值,如字典?

实施例

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

我尝试了JsonUtility和简单json,但我无法打印KEY value

任何解决方案?感谢

2 个答案:

答案 0 :(得分:1)

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

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

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

然后你将正常迭代生成的词典。

答案 1 :(得分:1)

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

使用LitJSON:

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