Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON对象有效且已填充,但没有方法且无法访问其数据(react)_Javascript_Node.js_Json_Reactjs_Express - Fatal编程技术网

Javascript JSON对象有效且已填充,但没有方法且无法访问其数据(react)

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

我使用的API返回以下格式的JSON对象:

{
  "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.keys

JSON是一种文本格式。根据JSON标准的定义,它没有函数。您解析JSON了吗?是的,在fetchfetch之后使用.JSON…JSON返回一个承诺,而不是您的对象