我有一些JSON:
{
"739c39e": [7866679, 31.96051, 117.13700, 310, 30100, 408, 20515, 2955, "A319", "B-6429", 1440504861, "SHA", "XIY", "MU2168", 0, 0, "CES2168", 0],
"739d433": [5242971, 51.46741, -0.48536, 270, 0, 16, 0, 2529, "A320", "T7-MRD", 1440504861, "LHR", "BEY", "ME202", 1, 0, "MEA202", 0]
}
我试图将其反序列化,但我没有太多运气。
我试过了:
var definition = new { a = "", b = "", c = "", d = "", e = "", f = "", g = "", h = "", i = "", j = "", k = "", l = "", m = "", n = "", o = "", p = "", q = "", r = "" };
var jsonData = @File.ReadAllText(@filepathToData);
dynamic deserializedData = JsonConvert.DeserializeAnonymousType(jsonData, definition);
我从没想过会这样,真的,因为没有"定义"在JSON中。
我也试过JArray.Parse(jsonData);
方式,但我什么也没得到。
我也试过了JsonConvert.DeserializeObject(jsonData);
但是没有返回任何内容......或者至少我无法使用Visual Studio(2015)检查返回的对象。
有没有人有任何想法?
我在Unity3D中这样做,如果它有所不同。
答案 0 :(得分:4)
你可以试试这个
var o = JsonConvert.DeserializeObject<Dictionary<string, object[]>>(json);
o.Dump();
答案 1 :(得分:0)
您可以将其反序列化为动态对象,如下所示:
dynamic o = JsonConvert.DeserializeObject(json);
Console.WriteLine(o["739c39e"]);
Console.WriteLine(o["739c39e"][3]); // output: 310