javascript - 在打字稿中迭代嵌套的 JSON 字符串
问题描述
我有一个测试嵌套的 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 as any).forEach((innerObj) => console.log(innerObj))
);
推荐阅读
- php - 从分页第二页错误中搜索数据
- powershell - Powershell Invoke-WebRequest 不适用于令牌
- scala - Flink 窗口操作符架构演变 - 保存点反序列化失败
- spring - 获取 Mono 的结果以便将其传递到 JpaRepository 或另一个非反应类
- r - 在 dplyr 中运行函数会给出错误的输出
- python - apply() 方法:通过第二列的总和对第一列进行归一化
- c++ - Boost - 类没有名为“序列化”的成员(抽象类)?
- javascript - 获取函数外变量的值
- c# - C#如何检查事件是否异步执行
- ruby-on-rails - 如何在 image_tag rails 中显示带有 falback url 的 webp 图像