0

C# と Json.NET を使用して、次の JSON をカスタム オブジェクトに逆シリアル化するにはどうすればよいですか。

[ {
    'data': [
        [ '100473','3481282801.0' ],
        [ '100472','3481275600.0' ],
        [ '100471','3481273800.0' ],
        [ '100470','3481263900.0' ],
        [ '100469','3481263000.0' ]
    ],
    'error': '',
    'statement_time': 0.00440700000000000030,
    'total_time': 0.00475200000000000010
} ]

これは、単一のオブジェクトを含む配列です。さらに興味深いことに、オブジェクトには配列の配列が含まれています。(残念ながら、私は形式を制御できません。) 私は JSON に比較的慣れていないので、Json.NET を試してみようと思いました。物事が簡単になるなら、私は他の JSON フレームワークを受け入れます。

4

2 に答える 2

4

Json.Net の使用

var result = JsonConvert.DeserializeObject<List<MyObject>>(str);

public class MyObject
{
    public List<List<string>> data { get; set; }
    public string error { get; set; }
    public double statement_time { get; set; }
    public double total_time { get; set; }
}
于 2013-05-10T21:48:59.220 に答える
0

C# 4.0 以降を使用している場合は、動的オブジェクトを使用します。

dynamic json = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonstring);

次に、次のようにドット表記を使用して JSON のメンバーにアクセスできます。

string s = json[0].data[0][0][1];

たとえば、これは番号 100473 を返します。

于 2013-05-10T21:51:12.923 に答える