【发布时间】:2017-10-26 02:03:06
【问题描述】:
我想将这个Json反序列化为模型,这是
json:[{"dimensions": [ "www "], "metrics ": [{ "values ": [ "2 " ]},{ "values ": [ "0 "]}]}]
我创建了这个模型来反序列化 json 到这个模型:
public class ResultModel
{
public List<string> dimensions { get; set; }
public List<Metric> metrics { get; set; }
}
和
public class Metric
{
public List<string> values { get; set; }
}
并为此使用Newtonsoft:
var model = Newtonsoft.Json.JsonConvert.DeserializeObject<ResultModel>(json);
但它不起作用并给我这个错误:
'无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'ResultModel',因为该类型需要 JSON 对象(例如 {"name":"value"})才能正确反序列化'。
有什么问题?
【问题讨论】:
-
您的 json 是数组(以“[”开头,以“]”结尾),因此您应该将其反序列化为
ResultModel[],而不是单个ResultModel。 -
DeserializeObject<IEnumerable<ResultModel>>
标签: c# json deserialization