【发布时间】:2021-11-12 17:45:52
【问题描述】:
我有一个以下格式的 JSON 响应,我想在 React 中从中提取数据。我尝试了以下方式,但到目前为止没有成功并获得TypeError: valuesArray.map is not a function。任何人都可以看看这里要改变什么。
代码:
const valuesArray = JSON.parse(data);
const users = valuesArray.map((u) => (
<tr key={u.builder}>
<td>{u.builder}</td>
<td>{u.account_id}</td>
</tr>
));
JSON
{
"44876989": [
{
"Key": "builder",
"Value": "test@outlook.com"
},
{
"Key": "account_id",
"Value": "030303"
}
],
"2207966": [
{
"Key": "builder",
"Value": "aabc@gmail.com"
},
{
"Key": "account_id",
"Value": "002235"
}
],
"5393": [
{
"Key": "builder",
"Value": "xyz@abc.com"
},
{
"Key": "account_id",
"Value": "000mmm"
}
]
}
【问题讨论】:
-
什么是 valuesArray?那是 JSON 吗?
-
如果 valuesArray 是那个 JSON,它是一个对象而不是数组。
-
是的,我只是在解析 valuesArray
const valuesArray = JSON.parse(data);中的 JSON 响应 -
由于 JSON 在解析后是一个对象
map()在这里没有任何意义。您可以将 JSON 转换为适用于您的map()代码的形状,也可以更改map()以适用于数据的现有形状。
标签: reactjs react-native react-redux react-hooks react-router