【发布时间】:2019-03-27 19:41:50
【问题描述】:
我有一个 API 端点,它以以下格式返回一些数据。
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
}
我认为能够遍历此 JSON 有效负载中的每个键值对会相对简单,但我似乎遇到了错误。下面的代码是我用来首先将 JSON 从字符串格式解析为变量,然后我想遍历 JSON 对象中的每个键,检索键和值,然后对这两个值执行一些操作.
var dictionary = JSON.parse(data);
for (var key in dictionary) {
var identifier = key;
var identifierValue = dictionary[key];
//do stuff..
我不确定 for() 在这种情况下是否有效,我如何准确地遍历 JSON 对象中的每个键值对?
我的问题是我似乎无法访问字典变量中保存的键或值。似乎 for 循环不起作用,这让我觉得它对这个用例无效。如果这是 C#,我将不得不做类似于
的事情for(var key in dictionary.keySet)
{
//do...
}
我正在寻找 JS 中的等价物。
【问题讨论】:
-
假设这是一个对象(尽管从您在问题中发布数据的格式尚不清楚),您可以使用几种方法来遍历其属性:stackoverflow.com/questions/8312459/…。如果您可以编辑问题以显示更准确的响应数据示例,我们可以为您提供更准确的答案。
-
错误是什么?提供minimal reproducible example
-
我更喜欢
Object.entries().forEach()而不是for ... in或其兄弟姐妹之一Object.keys()和Object.values()。它允许您假装对象是一个数组,而无需手动映射dictionary[key]。 -
请添加更多信息。控制台中记录了哪些错误(如果有)?数据变量是什么类型?如果是对象,JSON.parse 会抛出 SyntaxError。
标签: javascript jquery json