在PHP项目中,我得到一个字符串:
$s = '{1:"perro", 2:"gato", 3:{"other":"stuff"}}'
我只是想用以下方法解析它:
$jotason = json_decode($s, true);
但我一无所获。
我认为问题与JSON字符串中的无效数字键有关[我收到它们,不能改变它们的构造方式]。
我确信必须有一种明显而愚蠢的方法来解决这个问题,但我对它完全视而不见。 ¿连连呢?
谢谢!
答案 0 :(得分:-2)
你应该向创建源代码的人抱怨不生成有效的JSON。 并大声抱怨!可能是在挥舞着沉重的东西。
在此期间,这应该修复它,除非你有一个包含类似“1234:”的字符串:
$s = preg_replace("/([1-9][0-9]*):/", "\"$1\":", $s);