我是javascript的新手,所以要了解这些东西是如何运作的。
我有一个类似于["{\"name\":\"name\"}","{\"name\":\"Rick\"}"]
如果我JSON.parse()不应该返回具有name属性的对象数组?
我得到的是数组中的2个元素,但它们只是JSON字符串。它们不是具有属性名称的对象。我错过了什么?
[编辑] 我在对象上调用stringify(),然后将其传递给数组,而不是仅将对象传递给数组。然后我stringify()数组。我正在对stringify进行字符串化,这会导致它放入转义字符:)
答案 0 :(得分:6)
如果我JSON.parse()不应该返回一个具有name属性的对象数组?
不,看起来JSON定义了一个包含两个字符串的数组。
这是包含两个字符串的数组的JSON:
[
"{\"name\":\"name\"}",
"{\"name\":\"Rick\"}"
]
在JavaScript字符串文字形式中,即'["{\"name\":\"name\"}","{\"name\":\"Rick\"}"]'
。
这是包含两个对象的数组的JSON:
[
{
"name": "name"
},
{
"name": "Rick"
}
]
在JavaScript字符串文字形式中,这将是'[{"name":"name"},{"name":"Rick"}]'
。
答案 1 :(得分:2)
我猜它的sholuld来了:
"[{\"name\":\"name\"},{\"name\":\"Rick\"}]"
答案 2 :(得分:0)
如果你丢失了根元素周围的(转义)引号,你可能得到你想要的。
E.g。
之类的东西"[{"name":"name"},{"name":"Rick"}]"