3
我的函數收到一個可能有語法錯誤的JSON字符串,我該如何解決我的函數中的錯誤,以便我可以調用JSON.parse()
?有沒有一種方法可以在JavaScript中以編程方式修復JSON語法錯誤?
問題故事:我想解析一下linux命令sudo lshw -class network -json
的命令輸出。例如,PC有2個NIC,所以命令輸出有2個JSON對象。一個例外如下:
{
"businfo" : "[email protected]:01:00.0",
some other keys
}
{
"businfo" : "[email protected]:4",
some other keys
}
注意:2個對象沒有「,」分隔符。所以JSON.parse()
會產生錯誤。 ODD:另一個hyper-v vm的lshw與上面使用的版本相同,但是它可以在兩個對象之間生成正確的帶有「,」的JSON。相同的命令行。
不錯的提示!非常感謝! –
另一個問題:「}」和「{」之間有空格的空間數量,如何添加「,」...我認爲這個問題可能會縮小爲:如何用正則表達式替換「}任意數量的空格和\ n {「與」},{「。 –
這是一個非常簡單的方法var str =「{object one} {object two} {object three}」; var res = str.replace(/} \ s * {/ g,'},{'); –