我需要将 string 下面的内容转换为JavaScript对象
const str = `[{"a":"b"},{"c":"d"}]
[{"a":"b"},{"c":"d"}]`
我正在寻找
之类的对象[[{"a":"b"},{"c":"d"}],[{"a":"b"},{"c":"d"}]]
我尝试了以下代码
const regex = /(\n)/gm;
const str = `[{"a":"b"},{"c":"d"}]
[{"a":"b"},{"c":"d"}]`;
const subst = `,`;
let result = str.replace(regex, subst);
console.log(result);
JSON.parse(result)
得到下面的输出
[{"a":"b"},{"c":"d"}],[{"a":"b"},{"c":"d"}]
JSON.Parse()给出以下错误
JSON.parse(result)
undefined:1
[{"a":"b"},{"c":"d"}],[{"a":"b"},{"c":"d"}]
^
SyntaxError: Unexpected token , in JSON at position 21
at JSON.parse (<anonymous>)
at Object.<anonymous> (C:\regextest.js:11:6)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
答案 0 :(得分:1)
const str = `[{"a":"b"},{"c":"d"}]
[{"a":"b"},{"c":"d"}]`
console.log(str.split("\n").map(JSON.parse))
答案 1 :(得分:0)
要将字符串转换为对象,请使用JSON.parse方法:
JSON.parse('{ "name":"John", "age":30, "city":"New York"}')
希望这会有所帮助。
答案 2 :(得分:0)
使用 JSON.parse 方法可以将其转换,但是必须将有效的字符串传递给其中
var str = '[[{"a":"b"},{"c":"d"}],[{"a":"b"},{"c":"d"}]]';
console.log(str);
var obj = JSON.parse(str);
console.log(obj);
答案 3 :(得分:0)
我能够解决这个问题,这是代码
const regex = /(\n)/gm;
const str = `[{"a":"b"},{"c":"d"}]
[{"a":"b"},{"c":"d"}]`;
const subst = `;`
let result = str.replace(regex, subst);
result = result.split(';')
let data = []
result.forEach(item => {
if (item.length > 0) {
data.push(JSON.parse(item))
}
})
console.log(data);
输出
[ [ { a: 'b' }, { c: 'd' } ], [ { a: 'b' }, { c: 'd' } ] ]