首页 > 解决方案 > 从 Json 数组访问属性

问题描述

我有以下数组:

{
   "customizedData":[
      {
         "key":"SubscriptionId",
         "value":"xxxxxxxxxxxxxxxx"
      },
      {
         "key":"OfferId",
         "value":"xxxxxxxxxxxxxx"
      },
      {
         "key":"SubscriptionName",
         "value":"DYNAMICS 365 BUSINESS CENTRAL TEAM MEMBER"
      },
      {
         "key":"Quantity",
         "value":"6"
      },
      {
         "key":"Status",
         "value":"Suspended"
      },
      {
         "key":"PartnerOnRecord",
         "value":"None"
      }
   ]
}

如何访问关键元素:

"key": "SubscriptionName",
"value": "DYNAMICS 365 BUSINESS CENTRAL TEAM MEMBER"

目前我使用:(string)t["customizedData"][2]["value"]

有没有更好的方法?

标签: c#arraysjsonlinq

解决方案


假设您正在使用 Json.net 并且您不想为其创建强类型,因此您可以将SelectToken 与 JSONPath 一起使用

t.SelectToken("$.customizedData[?(@.key == 'SubscriptionName')].value").ToString();

推荐阅读