【问题标题】:How to query a json array in javascript [closed]如何在javascript中查询json数组[关闭]
【发布时间】:2020-03-07 05:38:03
【问题描述】:

如何解析下面的示例 json 并创建另一个名称为 allen、tom 或 jack 的 json。 这些名称可以出现任意多次。

{
  "responseCode": 0,
  "responseMessage": "SUCCESS",
  "data": [{
      "name": "tom",
      "school": "abc",
      "college": "def"
    },
    {
      "name": "harry",
      "school": "abc",
      "college": "def"
    },
    {
      "name": "jack",
      "school": "abc",
      "college": "def"
    },
    {
      "name": "tom",
      "school": "abc",
      "college": "def"
    },
    {
      "name": "allen",
      "school": "abc",
      "college": "def"
    }
    ...
    ...
  ]
}

【问题讨论】:

    标签: javascript arrays json parsing


    【解决方案1】:

    尝试使用Array.prototype.filter

    const data = `{
        "responseCode": 0,
        "responseMessage": "SUCCESS",
        "data": [
            {
                "name": "tom",
                "school": "abc",
                "college": "def"
            },
            {
                "name": "harry",
                "school": "abc",
                "college": "def"
            },
            {
                "name": "jack",
                "school": "abc",
                "college": "def"
            },
            {
                "name": "tom",
                "school": "abc",
                "college": "def"
            },
            {
                "name": "allen",
                "school": "abc",
                "college": "def"
            }
        ]
    }`
    
    const dataObject = JSON.parse(data);
    const filteredResults = dataObject.data.filter(function (entry) {
        return ['tom', 'jack', 'allen'].indexOf(entry.name) !== -1
    })
    console.log(filteredResults);

    【讨论】:

    • 感谢您为 Stack Overflow 做出贡献!您可以通过添加一些解释而不是发布仅使用“try this”注释的代码来使您的答案更有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 2021-07-24
    • 2016-09-02
    • 2022-01-07
    • 2013-09-05
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多