我们从API获得了以下JSON输出。
我们在ASP.NET中使用以下代码来反序列化对类的JSON响应:
var j = JsonConvert.DeserializeObject<classname>(response);
在反序列化以下JSON时,我们无法获取属性值。
{
"User": {
"Address": {
"@CityName": "Test",
"$": "B4C99EB0-18E6-439F-882A-9E4A11E1FF75"
}
}
}
根据上面的示例,我们需要获取@cityname
和$
属性值。
我们需要在课堂上输出以下内容:
@CityName : Test
$ : B4C99EB0-18E6-439F-882A-9E4A11E1FF75
我正在获取元素值,但我无法获取属性值。
我有办法做到这一点吗?
答案 0 :(得分:0)
您可以使用[JsonProperty]
属性将非标准JSON属性名称映射到类中的属性。让你的课程像这样:
public class RootObject
{
public User User { get; set; }
}
public class User
{
public Address Address { get; set; }
}
public class Address
{
[JsonProperty("@CityName")]
public string CityName { get; set; }
[JsonProperty("$")]
public string Guid { get; set; }
}
然后像这样反序列化:
var obj = JsonConvert.DeserializeObject<RootObject>(response);