【问题标题】:Get Json key using JsonPath使用 JsonPath 获取 Json 密钥
【发布时间】:2019-02-06 10:27:22
【问题描述】:

我正在努力编写 JsonPath 查询以从以下示例 Json 中提取特定键。

{
    "initial": "somevalue",
    "somekey2": {
        "inner1": "innerval1",
        "inner2": "innerval2"
    }
}

例如:
1)我希望提取第一个密钥,在这种情况下是initial。这可以使用 JsonPath 吗?

2) 获取一个内部键,例如inner1。类似于 $."initial"."somekey2" 的东西,但返回一个仅包含键的数组(inner1inner2)。

【问题讨论】:

  • 你可以使用 Object.keys(your object) 它会给出一个包含所有键的数组,然后你可以在 [0] 处获取元素
  • @UttamUghareja 正在使用 Javascript。我想写 JsonPath 来获取密钥
  • Get keys in JSON的可能重复

标签: json jsonpath


【解决方案1】:

This SO question 涵盖了它。

  1. $.*~返回
[
  "initial",
  "somekey2"
]
  1. $.somekey2.*~返回
[
  "inner1",
  "inner2"
]
  1. 要让所有二阶儿童使用$.*.*~。基本上是第n个订单,$.(n times *).*~

【讨论】:

    【解决方案2】:

    不确定 json 路径,但假设您的对象是一个

    a={
        "initial": "somevalue",
        "somekey2": {
            "inner1": "innerval1",
            "inner2": "innerval2"
        }
    };
    

    您可以使用 Object.keys(a) 获取所有密钥 这将给出键数组 ["initial", "somekey2"] 那么您可以使用该键来恢复其嵌套值

    a[Object.keys(a)[1]] // returns {inner1: "innerval1", inner2: "innerval2"}
    

    你可以对所有嵌套元素重复同样的操作

    【讨论】:

    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 2023-04-02
    • 2018-03-10
    • 2020-05-02
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多