【发布时间】:2021-06-23 15:06:03
【问题描述】:
如何访问给定 JSON 中的每个属性?
我还想根据 ID 过滤特定对象。如何在javascript中使用array.filter方法来做到这一点?
{
"records": [
{
"id": "abcd",
"fields": {
"term": [
"xyz"
],
"groupId": 888,
"url": "https://www.facebook.com",
"url_c": [
"https://www.google.com"
],
"pID": [
"1800"
],
"location": [
"mumbai"
],
"url_location": [
"https://www.mumbai.com/"
]
},
"createdTime": "2021-05-12T10:18:33.000Z"
}
]
}
目前我正在尝试这样做:
const [info, setInfo] = useState({});
useEffect(() => {
fetch(
"https://apiurl//"
)
.then((res) => res.json())
.then((data) => {
setInfo(data.records);
console.log(data);
})
.catch((error) => {
console.log(error);
});
}, []);
let resultInfo = info.filter((x) => x.groupId == gid);
console.log(resultInfo[0].fields.groupId);
但它显示错误
【问题讨论】:
-
离题:由于 fetch 是异步的,因此可能会在组件卸载后响应。在这种情况下,您需要确保不要致电
setInfo。考虑使用github.com/streamich/react-use/blob/master/docs/useAsync.md,它会在后台处理所有事情。 -
您能否提供有关此问题的更多信息,因为实际上 gid 是什么?很可能你做对了,除了一些需要改变的东西,一旦我们掌握了所有的信息就可以识别出来。谢谢
标签: javascript arrays json reactjs object