Arrays 如何访问对象数组中的元素?
我在变量数据下有一个JSON响应,形式为[object object]:Arrays 如何访问对象数组中的元素?,arrays,json,object,javascript-objects,Arrays,Json,Object,Javascript Objects,我在变量数据下有一个JSON响应,形式为[object object]: { "name": "John Johnson", "street": "Oslo West 16", "posts": { "id1": "121331", "id2": "9089085", "id3": "3424234" } } 数据等于[对象]和 data.posts等于{id1:“121331”,“id2:“9089085”,“i
{
"name": "John Johnson",
"street": "Oslo West 16",
"posts": {
"id1": "121331",
"id2": "9089085",
"id3": "3424234"
}
}
数据
等于[对象]
和
data.posts
等于{id1:“121331”,“id2:“9089085”,“id3:“3424234”}
如何简单地访问id3
值,因为它不等于data.posts.id3
也不等于data.posts['id3']
JSON.stringify(data)
仅提供\n
和\
中的对象之间的posts
?这可能是问题所在吗
{
"name": "John Johnson",
"street": "Oslo West 16",
"posts": { \n \"id1\": \"121331\", \n \"id2\": \"9089085\", \n \"id3\": \"3424234\"
}
}
我怀疑
data.posts
实际上是一个字符串。试一试
JSON.parse(data.posts).id3
您可能应该弄清楚为什么
data.posts
是一个字符串,因为每次您需要从数据中获取某些内容时,都要执行JSON.parse(data.posts)
。posts
不是很有效,更不用说双重JSON编码的额外开销了。为什么您说它不等于这些表达式?你发现了哪一个错误?这是我在提醒他们它们未定义时得到的结果,我在angularjs环境中工作,也在我使用JSON.stringify(数据)时,它给了我对象数组,对象之间有多个反斜杠n\n。。。这正常吗?我怀疑数据。posts
实际上是一个字符串。JSON.parse(data.posts).id3提供了什么?您如何在服务器上创建这个JSON?以防万一,您永远不应该“手动”生成它,而应该始终使用本机函数或库(例如,在PHP-json_encode
)为您生成json。否则,您可能会遇到类似于您在这里看到的问题。