C# JSON转换反序列化对象

C# JSON转换反序列化对象,c#,json,visual-studio,json.net,deserialization,C#,Json,Visual Studio,Json.net,Deserialization,我的JSON到XML代码有问题。它没有给对象赋值,我也不知道为什么。请让我知道我做错了什么 我的C#代码: root.RESPONSE\u GROUP.mismoversonId的值为NULL以及应填充的任何其他值。我知道我在这里做错了什么,但我不知道是什么 请帮忙!提前感谢。问题是您的JSON在某些属性名称前面包含了@符号。例如: "@MISMOVersionID":"2.4" 这里有两个选项: 修复JSON使其不具有该属性,例如,“@mismoversonid:“2.4” 使用JsonP

我的JSON到XML代码有问题。它没有给对象赋值,我也不知道为什么。请让我知道我做错了什么

我的C#代码:

root.RESPONSE\u GROUP.mismoversonId
的值为
NULL
以及应填充的任何其他值。我知道我在这里做错了什么,但我不知道是什么


请帮忙!提前感谢。

问题是您的JSON在某些属性名称前面包含了
@
符号。例如:

"@MISMOVersionID":"2.4"
这里有两个选项:

  • 修复JSON使其不具有该属性,例如,
    “@mismoversonid:“2.4”
  • 使用
    JsonPropertyAttribute
    告诉Json.NET在Json中应该使用哪个属性名,例如

    [JsonProperty("@MISMOVersionID")]
    public string MISMOVersionID { get; set; }
    

由于这里有两个级别的转换,您可能还需要提供XML以帮助我们。您的JSON有一个名为
@mismoversonID
的属性。您的实际属性是
MISMOVersionID
。(ResponseDateTime和_Name等也一样)我不确定我是否希望它能起作用……@CharlieKilian-我提供的JSON数据等于
jsonData
。但是,既然您请求了XML,我就提供它。@Turp:如果XML不相关(听起来可能是这样),那么为什么不从示例代码中删除它呢?如果您可以进一步减少示例JSON和类层次结构,那也会很好。@JonSkeet-我添加了XML。这可能有助于显示转换。这就是解决方案!谢谢你,乔恩!
{"RESPONSE_GROUP":{"@MISMOVersionID":"2.4","RESPONDING_PARTY":null,"RESPOND_TO_PARTY":null,"RESPONSE":{"@ResponseDateTime":"2015-02-19T10:32:11-06:00","KEY":{"@_Name":"LOSClientID","@_Value":"3000799866"},"STATUS":{"@_Code":"S0010","@_Condition":"Success","@_Description":"THIS IS THE DESCRIPTION.","@_Name":"Complete"}}}}
"@MISMOVersionID":"2.4"
[JsonProperty("@MISMOVersionID")]
public string MISMOVersionID { get; set; }