JSONかみそりのWebヘルパー(http://msdn.microsoft.com/en-us/library/gg538324%28v=vs.111%29.aspx)を使用して、複数のネストされたノードを持つJSON文字列をデコードしています。
別のプロジェクトでJSON.Decodeメソッドを正常に使用しましたが、このプロジェクトでは、JSONソース文字列に数値で始まるネストされたノードがあり、問題が発生しています。
私のJSON文字列は次のようになります
myJSONString="
{
Foo1: ‘data’,
‘Foo2:’ {
‘123':{
‘goodStuff’:{ [
{
boo1: ‘Data1’,
boo2: ‘Data2’
}
] }
}
}
} "
通常、私は次のことを行います。
var decodedJsonString = Json.Decode(myJSONString) <br>
次のようなデータにアクセスします。
foreach(var p in decodedJsonString.Foo2.123.goodStuff)
{
p.boo1; <br>
p.boo2; <br>
}
通常、これは問題なく機能しましたが、 .123
が気に入らないというエラーが表示されます。一部、ノードは文字ではなく数字で始まるため。インラインエラーは「識別子が必要です」です。Webページを実行すると、サーバーエラーは次のようになります: ")期待される"。
助言がありますか?ありがとうございました!
次のような多くのforeachループを使用することで、これを回避できます。
foreach( var p in decodedJsonString.Foo2)
{
var k = p.Value;
if(p.Key.Equals("123"))
{
foreach(var j in k)
{
//etc
}
}
}
これをデコードされたJSONオブジェクトにする方法がわからないので、decodeJsonString.Foo2.123.goodStuffのように再度参照できます。
どんな援助にも感謝します。明らかな何かが欠けている場合は申し訳ありません!ありがとうございました。