JSON.parse:解析对象中的数组

时间:2020-10-05 08:18:52

标签: javascript json

我有一个对象的JSON字符串,该字符串具有数组作为其属性之一。我如何获得结果对象以字符串数组:

let arr = ['10','22'];
let obj = `{
    "name":"bob",
    "arr":"${arr}"
}`;
let parse = JSON.parse(obj);
console.log(parse);

预期输出:

{
    "name":"bob",
    "arr":['10','22']
}

2 个答案:

答案 0 :(得分:2)

您应该使用JSON.stringify并删除两个双引号"

let arr = ["10", "22"]
let obj = `{
    "name":"bob",
    "arr":${JSON.stringify(arr)}
}`
let parse = JSON.parse(obj)
console.log(parse)

答案 1 :(得分:1)

问题出在定义上。您正在尝试在字符串中包含一个数组。而且,如果您尝试在JavaScript中将数组打印为字符串,则它将键与,结合在一起。要使其正常工作,您需要将该数组转换为JSON字符串并删除双引号,它就会按预期工作。

let arr = ['10','22'];
let obj = `{
    "name":"bob",
    "arr": ${JSON.stringify(arr)}
}`;
let parse = JSON.parse(obj);
console.log(parse);