javascript - 如何从数组中保存在某个位置的 JSON 行访问属性?

标签 javascript arrays json

这可能是一个非常简单的问题,但我似乎真的无法让它发挥作用。

我有几个 JSON 行和一个 notes 数组。 使用 notes.push(JSONline) 我假设每个数组位置保存一个 JSON 行,因此采用以下方式:

//notes[1]
{"id":"26","valuee":"20","datee":"2016-04-05T15:15:45.184+0100","id2":51}
//notes[2]
{"id":"27","valuee":"134","datee":"2016-04-05T15:15:47.238+0100","id2":53}
//notes[3]
{"id":"26","valuee":"20","datee":"2016-04-05T15:15:45.184+0100","id2":52}

这是我的问题:我想打印一个特定的属性,例如数组中一个特定 JSON 行的 id。我怎样才能做到这一点?

当我执行 console.log(notes) 时,它会按预期打印所有 JSON 行。但是,如果我执行 console.log(notes[1]) ,它会在该位置打印 JSON 行的第一个字符,而不是整行。 同样,console.log(notes[1].id) 不会打印第一个 JSON 行中的 id,实际上它会打印“未定义”。

我做错了什么? 非常感谢。

最佳答案

我建议您在推送笔记时解析所有 json,例如:

notes.push(JSON.parse(JSONLine))

如果你以某种方式执着于在数组中使用 json 字符串而不是对象(我不建议这样做),那么你总是可以在拥有 jsonLine id 后进行解析

JSON.parse(notes[id]).id

基本上,您想对任一解决方案使用 JSON.parse,我强烈建议您从一开始就将它们转换为对象。

关于javascript - 如何从数组中保存在某个位置的 JSON 行访问属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652718/

相关文章:

javascript - 如何将商店注入(inject)面板的工具栏中?

c++ - DirectX 11 将多个纹理加载到Texture2DArray中

java - 如何正确地将对象放入 JSONObject?

json - 我如何通过使用 node.js 从实时 json 数据中提取特定字段来创建一个新的单个 json 对象

javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

javascript - 如何检查哪个资源导致网页加载缓慢

javascript - 创建每秒更新一次的日期和时间函数

javascript - 从 json 数组中删除一些数据

java - 使用 "tournament"(Java) 从数组中获取最大的 n 个数字

json - 如何解析带有注释的 JSON?