将key.name与json响应的字符串进行比较

时间:2018-01-24 01:38:26

标签: c# json key-value

我有以下json:

{
    "value": [
        {
            "id": "/subscriptions/5a9c0639-4045-4c23-8418-fc091e8d1e31/resourceGroups/citrix-xd-0ec69105-c451-4676-8723-97932bf4d94a-ayjzs",
            "name": "citrix-xd-0ec69105-c451-4676-8723-97932bf4d94a-ayjzs",
            "location": "australiaeast",
            "tags": {
                "CitrixResource": "Internal",
                "CitrixSchemaVersion": "2.0",
                "CitrixProvisioningSchemeId": "0ec69105-c451-4676-8723-97932bf4d94a",
                "BillTo": "O1001396_8796-SS-Citrix",
                "Reference Name": "Citrix POC"
            },
            "properties": {
                "provisioningState": "Succeeded"
            }
        }
]

注意:上面的json只是一个大json数组的一部分

我想阅读具体的标签'节点并比较关键名称'例如CitrixResource到一个字符串并说它是否不相同然后失败。

到目前为止,我已经完成了以下工作:

JObject jsonParsed = JObject.Parse(result);
result = jsonParsed["value"].ToString()
var Response = JsonConvert.DeserializeObject<List<AzureResponse>>(result);
foreach (var AzureResponse in Response)
{
    //do something

    //and say
    {
        if (Tags.citrixResource.Propertyname = "name")
        {
            then pass;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

反序列化json <canvas id="FixedBody" width="300" height="200"/>

result

var jsonParsed = JsonConvert.DeserializeObject<dynamic>(result); 内的属性value转换为json

List<AzureResponse>

使用 //if the json is an object with `value` as property inside it var result = jsonParsed["value"].ToString(); //if the `value` is an array of format `List<AzureResponse>` List<AzureResponse> AzureResponseList= new List<AzureResponse>(); JsonConvert.PopulateObject(result, AzureResponseList); 循环浏览列表

Linq queries

或使用 //then using `linq` we could query according to our needs var tag=AzureResponseList.Where(x=>x.tags['CitrixResource']=='name').FirstOrDefault(); 循环浏览列表

foreach

如果我们不想转换为任何模型,我们可以直接使用//example with foreach foreach(var response in AzureResponseList){ if(response.tags['CitrixResource']=='name'){ //do something } } 动态对象

jsonParsed