首页 > 解决方案 > 如何解析 JSON.NET 中的匿名数组?

问题描述

我有一个我已经在解析的 JSON 字符串。一个特定的属性是一个类似于以下内容的数组:

[[1537488000000,50500],[1537574400000,54028],[1537660800000,60447],[1537747200000,60542]]

上面是 JSON 字符串,但是上面的内容包含在 JToken 对象中。

如何将 JToken 值解析为具体类的实例?

标签: c#jsonjson.net

解决方案


您可以将其反序列化为二维数组:

JsonConvert.DeserializeObject<long[][]>("[[1537488000000,50500],[1537574400000,54028],[1537660800000,60447],[1537747200000,60542]]")

或者,作为锯齿状的 2d,然后将其转换为 long long 的字典:

JsonConvert.DeserializeObject<long[][]>("[[1537488000000,50500],[1537574400000,54028],[1537660800000,60447],[1537747200000,60542]]")
    .ToDictionary(x => x[0], x => x[1])

如果您收到此作为JToken,请改用此:

JToken token = ...   
token
    .ToObject<long[][]>()
    .ToDictionary(x => x[0], x => x[1]);

推荐阅读