![]() |
1
11
function my_json_decode($s) { $s = str_replace( array('"', "'"), array('\"', '"'), $s ); $s = preg_replace('/(\w+):/i', '"\1":', $s); return json_decode(sprintf('{%s}', $s)); } |
![]() |
2
5
根据我的经验,马尔科的回答不再有效了。对于较新的php版本,请使用此istead:
|
![]() |
3
4
这个正则表达式就可以了
|
![]() |
4
2
我知道这个问题由来已久,但我希望这能帮助别人。
最简单的方法似乎是编写自定义解析器。 我想到了这个,它解析为嵌套的关联/索引数组:
请注意,确实如此 不
对于您的情况,您似乎希望添加
这对我来说意味着:
|
![]() |
5
1
|
![]() |
6
0
我想说,你最好下载JSON解码器的源代码(它们不是很大)并对其进行处理,特别是如果你知道你试图解码的JSON有什么问题的话。 您提供的示例也需要{},这可能会有所帮助。 |
![]() |
7
0
这是我删除尾随/前导/多逗号的解决方案。它可以与删除单引号并在json键周围添加引号的其他答案结合使用。我意识到这与OP无关,因为它处理的是其他类型的无效json,但我只希望能帮助在谷歌搜索中发现这个问题的人。
再见 repl.it |
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Henry · 使用Python将json重新格式化为键值对 2 年前 |
![]() |
eymentakak · json字典类型错误:字符串索引必须是整数 2 年前 |
![]() |
Vodka · 如何将单个json对象转换为json数组? 2 年前 |
![]() |
Alper · 从json转换为数据帧? 2 年前 |