【问题标题】:How to fetch data from JSON key:value pair in JavaScript [duplicate]如何从 JSON 键获取数据:JavaScript 中的值对 [重复]
【发布时间】:2019-07-07 04:45:01
【问题描述】:

我有以下格式的 JSON 文档:

{
  "X": [
    {
      "a": "foo",
      "b": "bar"
    },
    {
      "a": "xyz",
      "b": "cvb"
    }
  ]
}

我需要在我的 JS 代码中传递这个 JSON 对象,然后当我传递“a”的值时需要获取“b”的值。示例:如果我传递“foo”,我希望输出为“bar”等等。

我在 MarkLogic 中写这个,所以任何人都可以帮助我吗?

【问题讨论】:

  • 明确一点:您将用于访问 b 值的代码将是 JavaScript,对吧?您已标记 javascriptmarklogic 表示它支持 JavaScript 进行查询,所以我假设...
  • 你想知道如何在 JavaScript 中得到这个吗?
  • @T.J.Crowder:是的。
  • @Alias:我想到了使用“doc.toObject()”将其转换为JavaScript对象,然后进行处理。

标签: javascript arrays json parameter-passing marklogic


【解决方案1】:

我认为你可以这样做。

let obj = {
   x : [{
            "a":"foo",
            "b":"bar"
           },
           {
             "a":"xyz",
             "b":"cvb"
            }
          ]
  }
  
passValue = (value) => {
  
  obj.x.forEach(data => {
    // iterate through the keys 
    Object.keys(data).forEach(key => {
    // get the value for each key and look if required value has been matched
      if(data[key] == value){
        if(key == 'a'){
          console.log(data['b']);
        }else{
          console.log(data['a']);
        }
      }
    });
  });
}
<input type='button' onclick='passValue("foo")' value='pass value foo' />
<input type='button' onclick='passValue("bar")' value='pass value bar' />
<input type='button' onclick='passValue("xyz")' value='pass value xyz' />
<input type='button' onclick='passValue("cvb")' value='pass value cvb' />

【讨论】:

  • 请解释一下投票
猜你喜欢
  • 2019-04-25
  • 2017-07-20
  • 2015-09-16
  • 2020-07-17
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
相关资源
最近更新 更多