在javascript中使用JSON时的问题

Issue while working with JSON in javascript

本文关键字:问题 JSON javascript      更新时间:2023-09-26

在使用json时,我得到了字符串

var result=  "['"Emp1'", '"46'", '"46'", '"46'"], ['"Emp2'", '"113'", '"117'", '"117'"]"
我需要将上面的json转换为
var jsonRes=[["Emp1", "46", "46", "46"], ["Emp2", "113", "117", "117"]]

如何进行转换

结果是无效的JSON和双引号没有正确转义。您可以使用JSON。解析是否正确转义了结果。

var result= '['"Emp1'",'"46'",'"46'"],['"Emp2'",'"113'",'"117'",'"117'"]'
 result = "["+result+"]"
console.log(JSON.parse(result)[0]);

你可以这样做

var result = "['"Emp1'"46'",'"46'",'"46'"],['"Emp2'",'"113'",'"117'",'"117'"]";
console.log(
  result.slice(1, -1).split('],[').map(function(v) {
    return v.match(/[^",]+/g);
  })
)

UPDATE:如果你在'"Emp1'"46'"中添加了'",,那么你可以通过使字符串有效的JSON来使用JSON.parse

var result = "['"Emp1'",'"46'",'"46'",'"46'"],['"Emp2'",'"113'",'"117'",'"117'"]";
console.log(
  JSON.parse('['+result+']')
)