我在这个问题上已经困了很长时间,所以我在这里问。我收到以下错误消息:"Newtonsoft.Json.JsonSerializationException: 'Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'XXX' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly."这是我的班级的样子:public class SSN{ public IDictionary<string,string> ssns { get; set; }}下面是 json 格式:
2 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
您的 JSON 包含键和 ssn 而不是键和值,因此字典将不起作用。您需要创建如下类:
class SSN
{
public string ssn {get;set;}
public string key {get;set;}
}
并将 json 反序列化为 SSN 对象的集合。
ITMISS
TA贡献1871条经验 获得超8个赞
首先,您需要创建类对象来正确反序列化您的json,例如
class SampleClass
{
public string ssn { get; set; }
public string key { get; set; }
}
然后,您需要将json反序列化为,因为json是一种数组类型,这意味着它从左方括号开始,并以右方括号而不是大括号结尾。List<SampleClass>[]{}
List<SampleClass> sampleClasses = JsonConvert.DeserializeObject<List<SampleClass>>(json_string);
或
List<SampleClass> sampleClasses = JToken.Parse(json_string).ToObject<List<SampleClass>>();
- 2 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消