C# Json.NET无法反序列化列表<;字符串>;来自JSON数组
我在反序列化带有JSON.net的反序列化对象的属性时遇到问题。JSON格式正确,可以使用DeserializeObject提取并访问动态属性,但当我从模型中反序列化时,属性始终为null 我使用的是JSON.net的v10 所述财产的定义如下:C# Json.NET无法反序列化列表<;字符串>;来自JSON数组,c#,json,json.net,C#,Json,Json.net,我在反序列化带有JSON.net的反序列化对象的属性时遇到问题。JSON格式正确,可以使用DeserializeObject提取并访问动态属性,但当我从模型中反序列化时,属性始终为null 我使用的是JSON.net的v10 所述财产的定义如下: [JsonProperty(PropertyName = "email")] public List<string> EmailAddresses { get; set; } 当我反序列化对象及其类型时,即 var r
[JsonProperty(PropertyName = "email")]
public List<string> EmailAddresses { get; set; }
当我反序列化对象及其类型时,即
var restResponse = await client.ExecuteTaskAsync<T>(request, cancelToken);
var restreponse=await client.ExecuteTaskAsync(请求,取消令牌);
属性为空
我可以做到以下几点,但我更愿意找出反序列化失败的原因
dynamic jsonResponse = JsonConvert.DeserializeObject(restResponse.Content);
var tagsJArray = jsonResponse.email as JArray;
if (tagsJArray != null)
{
restResponse.Data.EmailAddresses = tagsJArray.ToObject<List<string>>();
}
dynamic jsonResponse=JsonConvert.DeserializeObject(restResponse.Content);
var tagsJArray=jsonResponse.email作为JArray;
if(tagsJArray!=null)
{
resresponse.Data.EmailAddresses=tagsJArray.ToObject();
}
我假设我缺少了一个JsonProperty属性,但我尝试过的任何东西都不起作用。有人能帮忙解释一下吗
提前谢谢 如果包含
EmailAddresses
属性的类的名称是Example
,则应按如下方式反序列化JSON:
var restResponse = await client.ExecuteTaskAsync<Example>(request, cancelToken);
var restreponse=await client.ExecuteTaskAsync(请求,取消令牌);
与往常一样,这是一个误解的问题。我使用的客户端最近已切换到,但我们没有更新属性,它们被忽略。一旦我们切换到正确的属性集,该字段将被正确反序列化。这可能会帮助您:和实时示例:您能否将您的问题扩展到完整的显示您的根类型以及如何构造客户端
?我试着重现你的问题,一切似乎都很好。你只是在email属性或所有其他属性上得到null吗?我正在按照dbc(谢谢,顺便说一句)处理最小完整和可验证的示例。Arman-所有其他属性都在反序列化,没有问题。哦,你的客户机实际上是吗?因为RestSharp so[JsonProperty(…)]
将不起任何作用。
var restResponse = await client.ExecuteTaskAsync<Example>(request, cancelToken);