所以我用Json.net反序列化由的REST API返回到服务器的JSON数据,它返回的数据结构为:未能desirialize异构JSON数据
{ "keyXXX" : [[1,2,3,...]...], "last": 12345 }
的问题是“关键”的也是数据的一部分,它不是一个名为“key”的字段,所以我不能使用类/结构体,我必须使用IDictionary<string, int[][]>
作为第一部分,但“最后”部分会抛出异常,因为它是一个整数而不是数组数组。 这是我已经试过:
var dec = JsonConvert.DeserializeObject<IDictionary<string, int[][]>>(data);
这将引发异常的JSON:
Newtonsoft.Json.JsonSerializationException:错误转换值1501555920键入 'System.Decimal [] []'。路径'最后'。
//define a class
public class DPInfo
{
public decimal[][] points { get; set; }
public long last { get; set; }
}
var dec = JsonConvert.DeserializeObject<DPInfo>(data);
这不会起作用,因为数组的字段名称是动态的,所以points
将包含在此之后什么都没有。
任何方式我可以解决这个问题?
在JSON中是否只有一个'keyXXX'或多个不同的'XXX'值? –
只有一个,但它的名字各异 – fluter