首页 > 解决方案 > 如何从 json 数组中寻址对象

问题描述

使用 JSON 库,我导入了一个对象数组:

dynamic serviceList = JsonConvert.DeserializeObject(listString)

我有一个 json 对象数组,每个对象都有属性“名称”。

[
   {
      "name":"abcd",
      "properties":{
         "type":"1234"
      }
   },
   {
      "name":"xyz",
      "properties":{
         "type":"aaaa"
      }
   }
]

如何只处理对象“abcd”?

标签: c#json.net

解决方案


您可以使用 Newtonsoft.JsonJArray.Parse()函数解析您的 json 数组。

用于FirstOrDefault()获取名称为“abcd”的记录

string listString = @"[{'name': 'abcd','properties': {'type': '1234'}},{'name': 'xyz', 'properties': { 'type': 'aaaa'}}]";
JArray jArray = JArray.Parse(listString);

//FirstOrDefault to get first record which satisfy the condition
var result = jArray.FirstOrDefault(x => (string)x["name"] == "abcd");
Console.WriteLine(result);

输出:

{
  "name": "abcd",
  "properties": {
    "type": "1234"
  }
}

.Net 小提琴


推荐阅读