每个 JavaScript JSON 仅返回第一个对象字符串

标签 javascript arrays json

我试图从数组中仅返回第一个对象的(that)字符串。在我的示例中,当我循环时,它将仅返回第三个选项中的字符串。

我希望它只返回第二个选项,例如名为that第一个对象

我认为它会像这样工作:

data[i].that[0]

但它只会返回第一个字母。

var data = [{  
   "this":"first",
   "that":"second",
   "that":"third",
},{  
    "this":"first",
    "that":"second",
    "that":"third",
}]

data.forEach(function (value, i) {
     console.log(data[i].that)
});

当前:

third
third

预期:

second
second

最佳答案

您的数据建模错误。 JavaScript 对象中不能有重复的键。

但是,您可以将其重新建模为以下内容,以实现您想要的效果(使用 data[i].that[0] 调用它):

var data = [{  
   "this":"first",
   "that": ["second", "third"]
},{  
    "this":"first",
    "that":["second", "third"]
}]

data.forEach(function (value, i) {
     console.log(data[i].that[0])
});

关于每个 JavaScript JSON 仅返回第一个对象字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58009139/

相关文章:

java - 根据 JSON 对象中的子值提取父名称。

c# - 使用 json.net 在序列化期间合并两个对象?

javascript - 随时间褪色的 Canvas 绘画 |奇怪的阿尔法分层行为

javascript - Facebook React.js 示例错误?

javascript - 带有 Semantic-UI 框架的可折叠侧边栏

c - 表示具有填充和空白区域的面板的数组

java - 是否有没有 JSON 限制的 JavaScript 对象文字的解析器/编码器?

c - 指向二维数组的指针

javascript - SoundCloud API - 列出用户的关注用户名

json - Django JSONField : Unexpected array element