需要从 json 字符串中提取属性和值
Posted
技术标签:
【中文标题】需要从 json 字符串中提取属性和值【英文标题】:Need to extract attribute and value(s) from json string 【发布时间】:2017-02-06 03:45:03 【问题描述】:我有一个 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个服务,
extract---类型特征服务器。
extract---mapserver 类型
我该怎么做才能获得这两种服务类型?
【问题讨论】:
【参考方案1】:你的 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;
【讨论】:
以上是关于需要从 json 字符串中提取属性和值的主要内容,如果未能解决你的问题,请参考以下文章