分かりにくいので整理しました。メモとして残します。
JSONの読み込み
areaprefcity.jsonという名前のファイルがあったとします。
{"area":
{"pref":
{
"name":"神奈川",
"city":[
{"name":"横浜"},
{"name":"川崎"},
{"name":"相模原"}
]
}
}
}
{"pref":
{
"name":"神奈川",
"city":[
{"name":"横浜"},
{"name":"川崎"},
{"name":"相模原"}
]
}
}
}
ReadTextFileを使い、jsonTextという変数に代入します。
JSONオブジェクトに変換
DeserializeJsonを使い、jsonObjという変数に代入します。
変数の型はJObjectです。
JSONの処理
次のようにするとJSON全体が文字列で取得できます。
jsonObj.ToString
次のようにするとcityが取得できます。
jsonObj("area")("pref")("city").ToString
【結果】
[
{
"name": "横浜"
},
{
"name": "川崎"
},
{
"name": "相模原"
}
]
{
"name": "横浜"
},
{
"name": "川崎"
},
{
"name": "相模原"
}
]
次のようにしても同様です。
jsonObj.selectToken("area.pref.city").ToString
次のようにするとnameが取得できます。
jsonObj("area")("pref")("city").ToString
【結果】
神奈川
ForEachを使う場合は次のようにします。
要素itemのTypeArgumentをJObjectにします。ここがポイントです。
値をjsonObj(“area”)(“pref”)(“city”)にします。
本体を次のようにします。
item("name").ToString
【結果】
横浜
川崎
相模原
コメント