2017-05-05 2 views
0

Ich habe eine JSON-Datei in diesem Format:Wie Key in einer JSON-Datei mit simplejson C# Get

{ 
    "3874D632": { 
    "FirstName": "Jack", 
    "LastName": "Andersen" 
    }, 
    "34F43A33": { 
    "FirstName": "John", 
    "LastName": "Smith" 
    } 

}

StreamReader read_json = new StreamReader(path_json_file); 

json = JSONNode.Parse(read_json.ReadToEnd()); 
read_json.Close(); 

wie 3874D632 oder 34F43A33 erhalten ??

json[????]. 
+0

Werfen Sie einen Blick auf die Unity3D wiki: http://wiki.unity3d.com/index.php/SimpleJSON – elgonzo

Antwort

1

Hinweis: Diese Antwort bezieht sich auf die SimpleJSON library auf die UnifyWiki Website veröffentlicht, die mit dem ganz anderen SimpleJson library, die ausgeliefert wird als Teil RestSharp nicht zu verwechseln ist.

Wenn die JSONNode ein JSON-Objekt darstellt, können Sie es zu JSONObject geworfen und von dort aus können Sie die Schlüssel-Wert-Paare wie ein Wörterbuch aufzuzählen. Die Key jedes Schlüssel-Wert-Paares wird den Wert haben, den Sie suchen. Siehe Beispiel unten:

string json = @" 
{ 
    ""3874D632"": { 
    ""FirstName"": ""Jack"", 
    ""LastName"": ""Andersen"" 
    }, 
    ""34F43A33"": { 
    ""FirstName"": ""John"", 
    ""LastName"": ""Smith"" 
    } 
}"; 

var node = JSONNode.Parse(json); 
if (node.Tag == JSONNodeType.Object) 
{ 
    foreach (KeyValuePair<string, JSONNode> kvp in (JSONObject)node) 
    { 
     Console.WriteLine(string.Format("{0}: {1} {2}", 
      kvp.Key, kvp.Value["FirstName"].Value, kvp.Value["LastName"].Value)); 

    } 
} 

Ausgang:

3874D632: Jack Andersen 
34F43A33: John Smith