gpt4 book ai didi

javascript - 将错误的 JSON 字符串转换为 JSON 数组

转载 作者:行者123 更新时间:2023-11-29 16:53:17 28 4
gpt4 key购买 nike

我有这个错误的 Json 字符串:

({loc: '(49.150892549035454, 9.22825813293457)' , shopName: 'Otest', nameID: '1', apID: 'Loa', gender: 'male'}); ({loc: '(12.150892549035454, 12.22825813293457)' , shopName: 'OtestRe', nameID: '1', apID: 'Loaa', gender: 'female'});

所以现在我尝试用以下方法更正字符串:

        var res = this.markerlist.replace(/\)|\(/g, '');
var res2 = res.replace(/;/g, ',');
var jsonList = JSON.stringify('[' + res2 + ']';

[{loc: '(49.150892549035454, 9.22825813293457)' , shopName: 'Otest', nameID: '1', apID: 'Loa', gender: 'male'}, ({loc: '(12.150892549035454, 12.22825813293457)' , shopName: 'OtestRe', nameID: '1', apID: 'Loaa', gender: 'female'}]

然后我尝试解析它:

   var jsonRs = JSON.parse(jsonList);


for (var rowData in jsonRs) // for acts as a foreach
{
console.log(jsonRs[rowData]);

}

我得到每个字符作为输出:

4
9
.
1

等等。

最佳答案

虽然正如大家所建议的那样,了解格式对于解决您的问题很重要。因此,您替换和解析的方法是错误的并且容易出错。

您的 Json 字符串 实际上是 javascript...所以即使是 eval 也可以。

编辑:正如 Biwise Creative 所指出的,它需要一些处理:

this.markerlist.split(";").slice(0,-1).map(function(t) {return eval(t);})

关于javascript - 将错误的 JSON 字符串转换为 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34373194/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com