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