我有一個無效的json stringify數據從postgres數據庫回來。如何解決我的情況下無效的JSON?
這是一個無效的字符串和數據就像
{"{\"title\":\"john\"}","{\"tel\":\"12345\"}"}
在我的代碼,我用下面,使其有效:
var newJson = '"' + mydata.info.replace(/","/g, ",").replace(/^{"/, "[").replace(/"}$/, "]") + '"';
然而,當我這樣做JSON.parse(newJson)
,它仍然給了我字符串而不是一個對象。
的newJson值是類似以下,如果我直接指定它像更換方法
console.log(newJson) => "["{\"title\":\"john\"},{\"tel\":\"12345\"}"]"
有趣的是後:
newJson = "["{\"title\":\"john\"},{\"tel\":\"12345\"}"]"
newJson = JSON.parse(newJson)
console.log(typeof newJson) => object
它實際上給了我一個對象。
我一直在努力爭取這個無效的json幾個小時,真的不知道我還能做什麼。誰能幫忙?非常感謝!
你可能原始數據進行兩次編碼(東西現在顯示在你分享的代碼中)。您絕不應該使用字符串操作函數來操作標準數據格式。 –
你確定你沒有在Postgres中使用'json []'(aka。'json'數組)類型嗎?因爲這就是你的輸出的樣子。 – pozs