首页 > 解决方案 > 对 JSON 数据进行分类

问题描述

嘿,请不要烤我。所以我有一个这样的JSON数据

data": {
    "person": [
      {
        "id": "xx1",
        "name": "John DOe",
      },
     ],
    "person": [
      {
        "id": "xx2",
        "name": "John Snow",
      },
     ],
}

例如,我想存储名称中包含“o”的每个人的数据。我怎么能那样做?谢谢

标签: javascriptjsonreactjsgraphql

解决方案


JSON 对象,如果有重复的键,它将用最底部的一个替换第一个。

在您的示例数据中,有两个“人”键。因此,最后,您所说的数据将屈服于此。

{"data":{"person":[{"id":"xx2","name":"John Snow"}]}}

因此,为了澄清您的数据,恕我直言,这首先应该是这样的。

"data": {
    "person": [
      {
        "id": "xx1",
        "name": "John DOe",
      },
      {
        "id": "xx2",
        "name": "John Snow",
      },
     ]
}

然后您可以将data.person其视为一个数组并使用Array.prototype函数来filter输出您想要的详细信息。

过滤方法应该是

const personWithNameO = data.person.filter((v) => v.name.includes("o") );
console.log(personWithNameO);

推荐阅读