【发布时间】:2016-11-25 09:24:35
【问题描述】:
我正在尝试反序列化以下 JSON。
{
"output-parameters":[
{
"value":{
"array":{
"elements":[
{
"string":{
"value":"cp-100"
}
},
{
"string":{
"value":"cp-101"
}
},
{
"string":{
"value":"cp-100"
}
},
{
"string":{
"value":"cp-101"
}
},
{
"string":{
"value":"cp-100"
}
}
]
}
},
"type":"Array/string",
"name":"Tags",
"scope":"local"
},
{
"value":{
"string":{
"value":"subscribed"
}
},
"type":"string",
"name":"Error",
"scope":"local"
}
]
}
我创建了以下类来绑定 JSON
public class OutputParameter
{
[JsonProperty(PropertyName = "value")]
public value value { get; set; }
[JsonProperty(PropertyName = "name")]
public string name { get; set; }
}
public class value
{
[JsonProperty(PropertyName = "array")]
public array_ array_ { get; set; }
}
public class array_
{
[JsonProperty(PropertyName = "elements")]
public element[] element { get; set; }
}
public class element
{
[JsonProperty(PropertyName = "value")]
public string value { get; set; }
}
我在反序列化它时没有收到任何错误。我也可以轻松浏览。
但是当我试图获取 element[n] 的值时(output_parameters[0].value.array_.element[0].value)。它返回 null。
这里有什么问题?
注意:我只需要从 JSON 中获取几个值。例如,我不需要像 “类型”:“字符串”, "名称":"错误", “范围”:“本地” 这就是我创建这样的 C# 类的原因。
【问题讨论】:
-
你不应该寻找“output_parameters[0].value.array_.element[0].string.value”吗?
-
尝试使用json2csharp.com 从 JSON 生成 C# 类?
标签: c# json json.net deserialization