我有一个Json字符串,我反序列化并变成一个有2个键的字典。我感兴趣的是它的值包含的密钥(服务),每个服务都有自己的属性,所有这些属性都在一行中用逗号和括号分隔。我希望能够遍历这些服务并使用它的属性获取每个服务。我认为正则表达式会这样做,但我找不到匹配的模式 `
responseDictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(response);
var services = responseDictionary["services"]
我得到的价值有这种模式
"[\r\n {\r\n \"name\": \"extract\",\r\n \"type\": \"FeatureServer\"\r\n },\r\n {\r\n \"name\": \"extract\",\r\n \"type\": \"MapServer\"\r\n }\r\n]"
有2项服务,
提取---类型featureserver。
提取---类型mapserver
如何使用他们的类型获得这两项服务?
答案 0 :(得分:2)
格式化后的JSON:
[{
"name": "extract",
"type": "FeatureServer"
},
{
"name": "extract",
"type": "MapServer"
}]
可以映射到类:
public class Service
{
public string name { get; set; }
public string type { get; set; }
}
所以你可以像这样反序列化它:
List<Service> services = JsonConvert.DeserializeObject<List<Service>>(response);
并为每项服务循环:
foreach(Service s in services)
{
string name = s.name;
string type = s.type;
}