我有一些JSON,看起来像这样

[
  {
    "MobileSiteContent": {
      "Culture": "en_au",
      "Key": [
        "NameOfKey1"
      ]
    }
  },
  {
    "PageContent": {
      "Culture": "en_au",
      "Page": [
        "about-us/"
      ]
    }
  }
]

我将其解析为JArray:

var array = JArray.Parse(json);

然后,我在数组上循环:

foreach (var content in array)
{

}

contentJToken

How can I retrieve the "name" or "key" of each item?

For example, "MobileSiteContent" or "PageContent"

推荐答案

JTokenJObjectJArrayJPropertyJValue等的基类.您可以使用Children<T>()方法获得JToken的特定类型的子类的筛选列表,例如JObject.每个JObject都有JProperty个对象的集合,可以通过Properties()方法访问这些对象.对于每一个JProperty,你可以得到它的Name.(当然,如果需要的话,你也可以得到Value,也就是JToken.)

综上所述,我们有:

JArray array = JArray.Parse(json);

foreach (JObject content in array.Children<JObject>())
{
    foreach (JProperty prop in content.Properties())
    {
        Console.WriteLine(prop.Name);
    }
}

Output:

MobileSiteContent
PageContent

Json相关问答推荐

JOLT转换过滤出特定值/对象

Golang JSON Date Tim.Date()测试请求

在PowerShell中,如何获取数据对所在的JSON对象的名称

当 JSON 字段名称有空格时,ABAP 中的 JSON 反序列化

在 PowerShell 中通过 aws cli 创建 cloudwatch alert 时出现字符串解析错误

带有 API 测试的 Typescript JSON 模式验证

从 oracle 数据库中的 json blob 打印值

golang递归json来构造?

在 json 嵌入的 YAML 文件中 - 使用 Python 仅替换 json 值

JQuery,使用 GET 方法发送 JSON 对象

如何在 jQuery 中循环遍历 JSON 数组?

如何在golang中获取 struct 的json字段名称?

从 Postgres 中的 json 对象中提取键、值

在 Rails 中使用 JSON 创建嵌套对象

读取 HttpwebResponse json 响应,C#

错误未判断调用put(K, V)作为原始类型java.util.HashMap的成员

如何访问 JSON 对象数组的第一个元素?

Sequelize - 如何仅返回数据库结果的 JSON 对象?

JSON JQ 如果没有 else

JSON 格式的 Amazon S3 响应?