5

私は .NET 4.5System.Jsonライブラリの機能を調べていますが、ドキュメントがあまりなく、一般的な JSON.NET ライブラリのために検索するのが非常に難しいです。

基本的に、たとえばJSONをどのようにループするのか疑問に思っています:

{ "People": { "Simon" : { Age: 25 }, "Steve" : { Age: 15 } } }

私は JSON を文字列に格納しており、繰り返し処理して全員の年齢を表示したいと考えています。

だから最初に私はするだろう:

var jsonObject = JsonObject.Parse(myString);

しかし、私は次に何をすべきか途方に暮れています。parse メソッドが JsonObject ではなく JsonValue を返すことに驚きました。

私が本当にやりたいことは次のとおりです。

foreach (var child in jsonObject.Children)
{
  if (child.name == "People")
{
 // another foreach to loop over the people
 // get their name and age, eg. person.Name and person.Children.Age (LINQ this or something)

}

}

何か案は?

4

3 に答える 3

-3

Json.Netといくつかの Linq の使用

string json = @"{ ""People"": { ""Simon"" : { Age: 25 }, ""Steve"" : { Age: 15 } } }";

var people =  JsonConvert.DeserializeObject<JObject>(json)["People"];

var dict = people.Children()
                 .Cast<JProperty>()
                 .ToDictionary(p => p.Name, p => p.Value["Age"]);
于 2013-05-02T13:36:49.827 に答える
-5

そのためには、system.json自体よりもはるかに優れたjson.netライブラリを使用してください

urclassobj = await JsonConvert.DeserializeObjectAsync<urclass>(json string)

次に、オブジェクトのリストで foreach と linq を使用します

 foreach(var details in urclassobj
                        .Select((id) => new { id= id})
                        )
 {
   Console.WriteLine("{0}", details.id);
  } 

json へのオブジェクトの場合

 string json2Send = await JsonConvert.SerializeObjectAsync(urclassobject);
于 2013-05-02T13:24:07.700 に答える