1
我試圖用json_decode解碼包含用逗號分隔的詞加上雙引號的單詞的JSON:json_decode雙引號和逗號返回NULL
{"wordsFont":"Times New Roman","nameList":["Overflow ,","Stack ""]}
json_decode失敗,所以我試圖格式化字符串逃過報價中包含的功能:
function fixDoubleQuotedJSON($broken_json)
{
return str_replace('""','\""',$broken_json);
}
但它只會在逗號和雙引號是在一個單詞的末尾的情況。結果:
{"wordsFont":"Times New Roman","nameList":["Overflow \,","Stack \""]}
解碼正確,但我需要找到一種方法來做到這一點的任何位置的雙引號和逗號。有什麼建議麼?
編輯:這是在數據庫中的初始值:
{\"wordsFont\":\"Times New Roman\",\"nameList\":[\"Overflow ,\",\"Stack \\\"\"]}
和我不能改變它所生成的數據庫的代碼
你會更好地修復任何產生的不是非常JSON文本。如果它被正確構建,額外的引號將會被轉義,你可以像預期的那樣json_decode()。 –
@MarcB請看我的編輯。這是初始值 – Tom
我唯一的建議是解決問題或使其創建者修復它:-) – prodigitalson