为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串反序列化到对象

从字符串反序列化到对象

C#
素胚勾勒不出你 2022-08-20 17:12:13
我在这个问题上已经困了很长时间,所以我在这里问。我收到以下错误消息:"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 对象的集合。


查看完整回答
反对 回复 2022-08-20
?
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>>();


查看完整回答
反对 回复 2022-08-20
  • 2 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信