有没有一种方法可以通过编程修复javascript中的JSON语法错误?

有没有一种方法可以通过编程修复javascript中的JSON语法错误?,javascript,json,Javascript,Json,我的函数收到一个可能有语法错误的JSON字符串,如何修复函数中的错误,以便调用JSON.parse() 问题故事:我想解析sudolshw-class network-json的命令输出,这是一个linux命令。例如,PC有2个NIC,因此命令输出有2个JSON对象。示例如下所示: { "businfo" : "pci@0000:01:00.0", some other keys } { "businfo" : "usb@1:4", some other keys

我的函数收到一个可能有语法错误的JSON字符串,如何修复函数中的错误,以便调用
JSON.parse()

问题故事:我想解析
sudolshw-class network-json
的命令输出,这是一个linux命令。例如,PC有2个NIC,因此命令输出有2个JSON对象。示例如下所示:

{
    "businfo" : "pci@0000:01:00.0",
    some other keys
}
{
    "businfo" : "usb@1:4",
    some other keys
}
注意:这两个对象没有“,”分隔符。因此
JSON.parse()
将生成错误


奇数:另一个hyper-v虚拟机的lshw与上面使用的版本相同,但它可以在两个对象之间生成正确的JSON。相同的命令行。

如果唯一的问题是对象之间没有逗号,并且字符串的格式相同,您可以对“}{”到“},{”进行字符串替换,然后生成的字符串应该是可解析的。
希望这会有所帮助。

另一个问题:在“}”和“{”之间有无法预料的空格数,如何添加“,”…我认为问题可能会缩小到:如何使用正则表达式替换“}任意数量的空格和\n{”为“},{”。下面是一个非常简单的方法var str=“{object one}{object two}{object three}”;var res=str.replace(/}\s*{/g,'},{');