微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅将 JSON 文件中的特定属性解析为数组

如何解决如何仅将 JSON 文件中的特定属性解析为数组

我有这个 JSON 数组:

{
  "data": [
    {
      "id": 6,"pnome": "dasda","unome": "dad","avatar": 1,"email": "d","pass": "password","ponto": 0
    },{
      "id": 3,"pnome": "Enguias","unome": "Enguias outra vez","avatar": 10,"email": "enguias@enguias.enguias","pass": "enguias",{
      "id": 2,"pnome": "André","unome": "Marques","email": "aglmarque@gmail.com","pass": "yet1","ponto": 0
    }
  ]
}

我用 axios 将它放入一个数组中,如下所示:

    axios.get(my_url_api)
    .then((res)=>{
        const txt = JSON.stringify(res.data.data);
        const users = JSON.parse(txt)
    })

这使得用户数组具有 JSON 文件中的所有信息。我怎样才能做到这一点,以便我只传递电子邮件和传递等特定属性?它看起来像这样:

{
  "data": [
    {
      "email": "d","pass": "password"
    },{
      "email": "enguias@enguias.enguias","pass": "enguias"
    },{
      "email": "aglmarque@gmail.com","pass": "yet1"
    }
  ]
}

解决方法

您可以使用 Array.map() 函数删除不必要的字段,如下例所示:

let res = {
"data": [
{
"id": 6,"pnome": "dasda","unome": "dad","avatar": 1,"email": "d","pass": "password","ponto": 0
},{
"id": 3,"pnome": "Enguias","unome": "Enguias outra vez","avatar": 10,"email": "enguias@enguias.enguias","pass": "enguias",{
"id": 2,"pnome": "André","unome": "Marques","email": "aglmarque@gmail.com","pass": "yet1","ponto": 0
}
]
}

res.data = res.data.map(item => {
  return {
  email: item.email,pass: item.pass
  };
});

console.log(res);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。