我正在使用Newtonsoft Json.Net将json feed反序列化为object:
JSON:
staticKey1: value,
staticKey2: value,
results: [
{
key1: value1,
key2: value2,
key3: value3,
...
keyN: valueN
}
],
C#class:
public class MyClassName
{
public string staticKey1 { get; set; }
public string staticKey2 { get; set; }
public Dictionary<String, String> results { get; set; }
}
我正在使用Newtonsoft.Json.JsonConvert.DeserializeObject(),但我得到了例外:
无法将当前JSON数组(例如[1,2,3])反序列化为类型 'System.Collections.Generic.Dictionary`2 [System.String,System.String]' 因为类型需要一个JSON对象(例如{“name”:“value”})来 正确反序列化。要修复此错误,请将JSON更改为a JSON对象(例如{“name”:“value”})或将反序列化类型更改为 实现集合接口的数组或类型(例如, ICollection,IList)就像可以从JSON反序列化的List一样 阵列。 JsonArrayAttribute也可以添加到类型中以强制它 从JSON数组反序列化。
答案 0 :(得分:1)
实际上很简单,使用:
public class MyClass
{
public string staticKey1 { get; set; }
public string staticKey2 { get; set; }
public IEnumerable<IDictionary<string, string>> results { get; set; }
}
但也许有更好的解决方案。