0

私の文字列json

{"data":[{"id":"CAMVqgY1g1cdLU5anDL69Tt5pyRh51-qkyKMHWHgH2mAG+vn+xQ%40mail.gmail.com","content":"Coba ngirim email mohon diterima\r\n","judul":"coba 1","sender":"\"Aldo Erianda\""},{"id":"CAMVqgY1Trb5ZShRxzoX%3D0xaVQs5-Psh0J8V3JwQYVevcr8i5WA%40mail.gmail.com","content":"sampai nga ya\r\n","judul":"coba 2","sender":"\"Aldo Erianda\""}]}

「データ」内のレコードをカウントし、コンソールまたはリッチテキストボックスにレコードを表示したい。いくつかのチュートリアルはまだ私を理解するのを難しくしています。段階的にどうすればいいですか?

4

1 に答える 1

0

これは、特定のケースで機能するはずです。json 文字列に一般化することはできません。

var json = "{\"data\":[{\"id\":\"CAMVqgY1g1cdLU5anDL69Tt5pyRh51-qkyKMHWHgH2mAG+vn+xQ%40mail.gmail.com\",\"content\":\"Coba ngirim email mohon diterima\r\n\",\"judul\":\"coba 1\",\"sender\":\"Aldo Erianda\"},{\"id\":\"CAMVqgY1Trb5ZShRxzoX%3D0xaVQs5-Psh0J8V3JwQYVevcr8i5WA%40mail.gmail.com\",\"content\":\"sampai nga ya\r\n\",\"judul\":\"coba 2\",\"sender\":\"Aldo Erianda\"}]}";
var deserialized = JsonConvert.DeserializeObject<IDictionary<string, JArray>>(json);
JArray recordList = deserialized["data"];
foreach (JObject record in recordList)
{
    Console.WriteLine("id: " + record["id"]);
    Console.WriteLine("content: " + record["content"]);
    Console.WriteLine("judul: " + record["judul"]);
    Console.WriteLine("sender: " + record["sender"]);
}
Console.WriteLine("count: " + recordList.Count);

注: すべての引用符をエスケープして有効な C# 文字列にすることで、json を少し変更しました。また、送信者の価値について余分な引用があると思います。

于 2013-04-29T05:02:58.077 に答える