【发布时间】:2021-06-14 23:46:05
【问题描述】:
我有这个 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",
"ponto": 0
},
{
"id": 2,
"pnome": "André",
"unome": "Marques",
"avatar": 1,
"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)
})
这使得 users 数组拥有 JSON 文件中的所有信息。我怎样才能做到这一点,以便我只传递特定属性,如电子邮件并传递?它看起来像这样:
{
"data": [
{
"email": "d",
"pass": "password"
},
{
"email": "enguias@enguias.enguias",
"pass": "enguias"
},
{
"email": "aglmarque@gmail.com",
"pass": "yet1"
}
]
}
【问题讨论】:
-
为什么要对直接来自 JSON 的数据进行字符串化?然后立即再次解析?
-
是的,你可以做
const users = res.data.data。此外,它不是 JSON 数组。是JSON(文本),由axios解析成数组。了解这种区别将使您更容易意识到什么时候您实际上需要 JSON.stringify 和 JSON.parse(您通常不需要)。无论如何,所有这些都完全无关紧要;这是关于从数组中的对象中删除属性。
标签: javascript arrays json javascript-objects