2017-01-07 11 views
1

任何方式來循環在json文件並打印所有鍵和值像字典?獲取所有json鍵和值在c#(Unity)

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

我試圖JsonUtility和簡單json,但我不能打印KEY value

任何解決方案?謝謝

+0

{ 「鍵1」: 「值1」}你要打印的值作爲 「鍵1」, 「值1」? –

+0

是的,這就是我想要的 –

+0

你不是從項目中得到它。似乎你的代碼是正確的。如果可能更新result.Data.Keys的值 –

回答

1

內置的JsonUtility類僅限於反序列化爲普通類和結構。反序列化成字典目前​​似乎不被支持。 LitJSON比較靈活。

使用LitJSON:

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

您可以嘗試使用FullSerializer代替您的JSON文件,這比標準的JSON實用程序更強大一些。它可從https://github.com/jacobdufault/fullserializer

在這種情況下,您可以使用fsData.AsDictionary將其轉換爲常規字典。

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

然後,你會遍歷生成的字典正常。

+0

我已經刪除了我的答案,因爲它似乎與Unity項目無關。 – Ankit