【问题标题】:How to find key by name in json-query?如何在 json-query 中按名称查找键?
【发布时间】:2020-11-25 07:28:26
【问题描述】:

我有 JSON 对象:

{
  "type": "...",
  "start": 0,
  "end": 93,
  "items": [
    {
      "type": "...",
      "start": 0,
      "end": 93,
      "more": {
        "type": "...",
        "start": 0,
        "__FOO__": true,
        "end": 93,

我想使用 json-query 从该对象中获取 __FOO__ 属性。

问题是__FOO__ 可以在对象中的任何位置。我的意思是内心深处或根源。对象结构也可以改变(数组可能是对象,甚至不存在)。

所以我尝试使用此语法获取此属性,但它不起作用。什么语法能找到我__FOO__

const data = require("./data.json");

const jsonQuery = require("json-query");

const x = jsonQuery("[__FOO__]", { data });

console.log(x);

codesandbox.io

【问题讨论】:

  • 这能回答你的问题吗? How to find a particular json value by key?
  • 没有。我的答案是在 Pyton。我使用带有 JavaScript 的 json-query
  • @ra.design 您链接到一个 python 答案和一个不使用 json-query 的答案。
  • 对不起!我认为您需要使用 for (var key in json) 遍历给定 JSON 的所有键。
  • 您在寻找什么? body? expression? xxx? property? arguments?

标签: javascript


【解决方案1】:

我认为"items[**][__FOO__!=null]" 似乎有效。它返回包含__FOO__ 的对象,而不是__FOO__ 本身的值。

【讨论】:

  • 好吧,我不知道该告诉你什么,我在你发布的代码上对其进行了测试,它对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多