我会跟踪JSON,在这里我需要从JSON中提取很少的数据。
{
"id":"400xxtc200",
"state":"failed",
"name":"barbaPapa",
"content-exception":"AccessDenied",
"input-parameters":[
{
"value":{
"string":{
"value":"In"
}
},
"type":"string",
"name":"Operation",
"scope":"local"
},
{
"value":{
"string":{
"value":"bila"
}
},
"type":"string",
"name":"VMName",
"scope":"local"
},
{
"value":{
"string":{
"value":"txtc"
}
},
"type":"string",
"name":"PSUser",
"scope":"local"
},
{
"value":{
"string":{
"value":"dv1"
}
},
"type":"string",
"name":"Datacenter",
"scope":"local"
},
{
"value":{
"string":{
"value":"tpc"
}
},
"type":"string",
"name":"ServiceArea",
"scope":"local"
},
{
"value":{
"string":{
"value":"103"
}
},
"type":"string",
"name":"SQN",
"scope":"local"
}
],
"output-parameters":[
{
"type":"Array/string",
"name":"tag",
"scope":"local"
},
{
"value":{
"string":{
"value":"AccessDenied"
}
},
"type":"string",
"name":"Error",
"scope":"local"
}
]
}我试图将JSON对象反序列化为一个成功的动态对象。
string responseText = reader.ReadToEnd();
dynamic in_values = JsonConvert.DeserializeObject(responseText);
string state = in_values.state;如果您可以看到,我在JSON字符串中有一些带有连字符的标签名。
例如,output-parameters
我不能使用这个点操作,因为这样它就会如下所示
in_values.output-parameters;如何从JSON字符串中提取这些值。
发布于 2016-11-18 11:05:54
在这种情况下,您可以使用JsonProperty。
public class SampleClass
{
public string id { get; set; }
public string state { get; set; }
public string name { get; set; }
[JsonProperty(PropertyName = "content-exception")]
public string content_exception { get; set; }
[JsonProperty(PropertyName = "input-parameters")]
public List<InputParameter> input_parameters { get; set; }
[JsonProperty(PropertyName = "output-parameters")]
public List<OutputParameter> output_parameters { get; set; }
}
string json = File.ReadAllText("abc.txt");
SampleClass obj = JsonConvert.DeserializeObject<SampleClass>(json);
List<OutputParameter> ls = obj.output_parameters;https://stackoverflow.com/questions/40675292
复制相似问题