-1

私はC#でこれをデシリアライズする方法を見つけようとしていますが、残念ながら運がありません.

誰かが助けてくれれば本当にありがたいです.jsonデータは次のとおりです。

{
"138c399": [
    "A1E67B",
    39.826,
    -76.9241,
    238,
    15400,
    402,
    "2573",
    "T-KDCA1",
    "B772",
    "N221UA",
    1367747636,
    "KWI",
    "IAD",
    "UA981",
    0,
    -1280,
    "UAL981",
    1367748699
],
"138c3c8": [
    "89911F",
    45.3878,
    25.8222,
    290,
    35975,
    460,
    "2362",
    "T-LROP1",
    "B744",
    "B-18711",
    1367747646,
    "TPE",
    "FRA",
    "CI5621",
    0,
    0,
    "CAL5621",
    1367754205
],
"full_count": 3796,
"version": 4

}

編集:jsonデータを変更しました

4

5 に答える 5

1

JavaScriptSerializerクラスを試す

var _object = JavaScriptSerializer.Deserialize<dynamic>(yourJSON);
于 2013-05-05T10:23:14.173 に答える
1

http://james.newtonking.com/pages/json-net.aspxを試してみてください。これは、json のシリアライズとデシリアライズ、xml からオブジェクトへの変換、およびその逆に関するすべての素晴らしいクラスです。

于 2013-05-05T10:24:29.350 に答える
0

このようなものをお探しですか :) ( Json.Netを使用)

var flights = JObject.Parse(json)
                .Children().Cast<JProperty>()
                .Select(p => new { Key = p.Name, Values = p.Value.ToArray() })
                .Select(j => new 
                {
                    id = j.Key,
                    hex = (string)j.Values[0],
                    lat = double.Parse(j.Values[1].ToString(), CultureInfo.InvariantCulture),
                    lon = double.Parse(j.Values[2].ToString(), CultureInfo.InvariantCulture),
                    dir = (int)j.Values[3],
                    alt = (int)j.Values[4],
                    speed = (int)j.Values[5],
                    radar = (string)j.Values[7],
                    plane = (string)j.Values[8],
                    reg = (string)j.Values[9],
                    time = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromSeconds((int)j.Values[10])),
                    from = (string)j.Values[11],
                    to = (string)j.Values[12],
                    callsign = (string)j.Values[13],
                })
                .ToList();
于 2013-05-05T10:46:05.933 に答える
0

YvesR が提案したように、私は Json.NET を使用します。実際、Microsoft も最近 (ASP.NET MVC Web API で) 使用しています - 彼らは基本的に、内部の JSON シリアル化テクノロジ (つまり JavaScriptSerializer) のサポートを放棄しました。

于 2013-05-05T10:35:38.387 に答える