辞書の配列の文字列である文字列があります。
フォーマットの例は次のとおりです。
[{"id":1,"items":[5,8]},{"id":2,"items":[6]},{"id":3,"items":[7]}]
(注: 上記のコードはすべて文字列です)
ここでは、2 つのキーを持つ辞書の配列の文字列です。最初のキーの値は数値で、2 番目のキーの値は数値の配列です。
C# (すぐに使えるアセンブリ) を使用して、すべての id 値を反復処理し、次にすべての項目配列値を反復処理するにはどうすればよいですか。
したがって、二重のforループのように期待します。1 つは ID を反復処理して数値を抽出し、反復ごとに項目配列のすべての値を反復処理する必要があります。
数値を解析して抽出する方法を知っている人はいますか?
ありがとう。
出力は次のようになります (たとえば)
1
5 8
2
6
3
7
編集:
私はこれを試しました:
string dataString = JSONValue.Text;
JavaScriptSerializer jss = new JavaScriptSerializer();
var json = new JavaScriptSerializer();
var data = json.Deserialize<List<Dictionary<string, Object>>>(dataString);
int sectionID;
List<int> itemIDS;
foreach (Dictionary<string, Object> dict in data)
{
sectionID = (int)dict["id"];
itemIDS = (List<int>)dict["items"];
ReportObject.log(sectionID.ToString());
foreach (int itemID in itemIDS)
{
ReportObject.log(itemID.ToString());
}
}
しかし、得ています
(6/27/2013 12:02:04 AM) - Error Message: Unable to cast object of type 'System.Collections.ArrayList' to type 'System.Collections.Generic.List`1[System.Int32]'.