Javascript JSON对象有效且已填充,但没有方法且无法访问其数据(react)
我使用的API返回以下格式的JSON对象:Javascript JSON对象有效且已填充,但没有方法且无法访问其数据(react),javascript,node.js,json,reactjs,express,Javascript,Node.js,Json,Reactjs,Express,我使用的API返回以下格式的JSON对象: { "Home": { "Office": [ { ... }, { ... }, ] } } 我从API检索数据,它返回的结果与许多其他端点一样。 我无法访问其属性-对象['Home']未定义 它没有方法-Object.getOwnPropertyNamesobj.filteritem=>TypeOfObj[item]===“function”返回空数组 .ke
{
"Home": {
"Office": [
{ ... },
{ ... },
]
}
}
我从API检索数据,它返回的结果与许多其他端点一样。
我无法访问其属性-对象['Home']未定义
它没有方法-Object.getOwnPropertyNamesobj.filteritem=>TypeOfObj[item]===“function”返回空数组
.key、.map、.value等都未定义
这是唯一一个有这个问题的JSON对象——无论我如何修改它,这个端点似乎都被破坏了
在API中,我按如下方式构建此对象:
var map = {};
result.forEach(device => {
if (!map[device.facility]) map[device.facility] = {};
if (!map[device.facility][device.room]) map[device.facility][device.room] = [];
map[device.facility][device.room].push(device);
});
答复似乎有效
此外:
JSON对象是有效的
JSON.stringify没有任何问题
即使对JSON.stringify的结果调用JSON.parse,也会得到相同的断开对象
那么,一个有效的json对象怎么可能没有方法和可访问的属性呢?我知道我在这里遗漏了一些愚蠢的东西您必须解析从API得到的JSON作为响应。 然后,您可以使用object.Home或object[Home]获取值
参考-证明我必须使用Object.keys x而不是x.keysJSON是一种文本格式。根据JSON标准的定义,它没有函数。您解析JSON了吗?是的,在fetchfetch之后使用.JSON…JSON返回一个承诺,而不是您的对象