Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.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 在typescript中的嵌套JSON字符串上迭代_Javascript_Json_Typescript - Fatal编程技术网

Javascript 在typescript中的嵌套JSON字符串上迭代

Javascript 在typescript中的嵌套JSON字符串上迭代,javascript,json,typescript,Javascript,Json,Typescript,我有一个测试嵌套的JSON字符串 const testString = `{ "object1": { "5": [ { "id": "A2OKPZ5S9F78PD", "rate": "2", "item": "item", "status": "status" } ] }, "type": "LIVE_EVENT" }`; const model = JSON.parse(t

我有一个测试嵌套的JSON字符串

const testString = `{
  "object1": {
    "5": [
      {
        "id": "A2OKPZ5S9F78PD",
        "rate": "2",
        "item": "item",
        "status": "status"
      }
    ]
  },
  "type": "LIVE_EVENT"
}`;

const model = JSON.parse(testString);
Object.values(model.object1).forEach((obj) =>
  obj.foreach((innerObj) => console.log(innerObj))
);
正如您在上面看到的,我正试图将其解析为JSON并进行迭代。我在JSON.parse内部对象过程中遇到的问题是假设类型未定义,并且foreach不能应用于该对象。有人能帮忙吗?

您的JSON无效(编辑前),因为状态键/值对后面有一个额外的逗号,
forEach()
有一个大写的E。此外,正如下面的评论中所讨论的,您似乎需要将内部的
obj
转换为一种理解
forEach()
的类型:

const testString=`{“object1”:{“5”:[{“id”:“A2OKPZ5S9F78PD”,“rate”:“2”,“item”:“item”,“status”:“status”}]},“type”:“LIVE_EVENT”};
const model=JSON.parse(testString);
Object.values(model.object1).forEach((obj)=>
(obj作为任何对象).forEach((innerObj)=>console.log(innerObj))

);
(obj | |[])。forEach
尝试更改到此对象。值(model.object1)。forEach(obj=>(obj | |[])。forEach(innerObj=>console.log(innerObj));还是不起作用的forEach不是forEach还是一样的?现在仍然起作用。试过这个。Object.values(model.object1).forEach(obj=>(obj | |[]).forEach(innerObj=>console.log(innerObj))
model.object1实际上是一个对象,因此您需要迭代它的属性。我正在运行与您粘贴在typescript上的代码相同的代码。它说forEach不能应用于未定义的对象。检查您的
JSON.parse(testString)
是否真的在解析JSON,也就是说,记录
model
变量。@DarkShadows您能分享其中的SS吗?请确保在运行上述代码时,您实际拥有的
testString
与我完全相同,因为当我在本地运行时,它工作了。@LuísRamalho Yes(obj作为任何对象)工作了。非常感谢你。你能更新你的答案吗?这样我就可以标记为接受了。