次の JSON 形式について考えてみましょう:
<code class="language-json">{ "displayFieldName": "OBJECT_NAME", "fieldAliases": { "OBJECT_NAME": "OBJECT_NAME", "OBJECT_TYPE": "OBJECT_TYPE" }, "positionType": "point", "reference": { "id": 1111 }, "objects": [ { "attributes": { "OBJECT_NAME": "test name", "OBJECT_TYPE": "test type" }, "position": { "x": 5, "y": 7 } } ] }</code>
「objects」配列内のデータのみを抽出するには、Json.net を使用して JSON を .NET オブジェクトに逆シリアル化します。
<code class="language-csharp">Foo foo = JsonConvert.DeserializeObject<Foo>(json);</code>
JSON 構造と一致するように次のクラスを定義します:
<code class="language-csharp">public class NameTypePair { public string OBJECT_NAME { get; set; } public string OBJECT_TYPE { get; set; } } public class Position { public int x { get; set; } public int y { get; set; } } public class SubObject { public NameTypePair attributes { get; set; } public Position position { get; set; } } public class Foo { public List<SubObject> objects { get; set; } }</code>
逆シリアル化後、foo.objects
属性を使用して「objects」配列内のデータにアクセスできます。
以上がJson.netを使用してJSON配列からデータを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。