2017-01-07 3 views
1

jede Möglichkeit, in einer json Datei zu loopen und alle Schlüssel und Werte wie ein Wörterbuch zu drucken?Get alle Json Keys und Werte in C# (Unity)

Beispiel

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

Ich habe JsonUtility und einfache json versucht, aber ich kann die KEY value noch

Jede Lösung drucken? Danke

+0

{ "key1": "Wert1"} tun Sie den Wert als "key1" drucken möchten, "Wert1"? –

+0

ja, das ist was ich will –

+0

Sie bekommen es nicht von Artikel. Scheint so, als ob dein Code korrekt ist. wenn möglich, aktualisieren Sie den Wert von result.Data.Keys –

Antwort

1

Die integrierte JsonUtility Klasse ist auf das Deserialisieren in einfache Klassen und Strukturen beschränkt. Die Deserialisierung in Wörterbüchern wird derzeit nicht unterstützt. LitJSON ist ein bisschen flexibler.

Mit LitJSON:

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

Sie könnten versuchen, stattdessen FullSerializer für Ihre JSON-Dateien verwenden, die ein bisschen leistungsfähiger als das Standard-JSON-Dienstprogramm ist. Es ist erhältlich von https://github.com/jacobdufault/fullserializer.

In diesem Fall können Sie die fsData.AsDictionary verwenden, um es in ein normales Wörterbuch zu konvertieren.

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

Dann würden Sie über das resultierende Wörterbuch als normal durchlaufen.

+0

Ich habe meine Antwort als es entfernt schien für Unity-Projekte nicht relevant zu sein. – Ankit