我有一个对象的JSON字符串,该字符串具有数组作为其属性之一。我如何获得结果对象以字符串数组:
let arr = ['10','22'];
let obj = `{
"name":"bob",
"arr":"${arr}"
}`;
let parse = JSON.parse(obj);
console.log(parse);
预期输出:
{
"name":"bob",
"arr":['10','22']
}
答案 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);