Php 如何解析这种json
我只是在玩google plus服务,我看到了来自google服务器的响应。它看起来像下面这样Php 如何解析这种json,php,json,Php,Json,我只是在玩google plus服务,我看到了来自google服务器的响应。它看起来像下面这样 )]}' [[["er",,,,,405,,,,9] ,["di",22,,,,,[] ,[] ,,,[] ,[] ,[] ] ,["e",3,,,81] ]] 我从响应中删除了)]}',并尝试进行json解码 $arr = json_decode($response,true) var_dump($arr); 但我发现了一个错误,就像多个逗号一样。有人能告诉我谷歌是如何解析它的json的吗?或
)]}'
[[["er",,,,,405,,,,9]
,["di",22,,,,,[]
,[]
,,,[]
,[]
,[]
]
,["e",3,,,81]
]]
我从响应中删除了)]}'
,并尝试进行json解码
$arr = json_decode($response,true)
var_dump($arr);
但我发现了一个错误,就像多个逗号一样。有人能告诉我谷歌是如何解析它的json的吗?或者它是json还是其他什么东西。那段代码可能直接注入了某种“新函数”或脚本标记中。 第一部分似乎结束了先前的陈述 无论如何,我不确定它到底是用来做什么的,也许在实际使用这些数据之前已经做了一些替换 但要解决你的问题: 您需要将所有未定义的索引替换为null。 大致如下:
while(strpos($response, ",,") !== false) {
$response = str_replace(",,", ",null,", $response);
}
$response = str_replace("[,", "[null,", $response);
$response = str_replace(",]", ",null]", $response);
$arr = json_decode($response,true);
var_dump($arr);
这不是一个有效的JSON,您能改变它的生成方式吗?事实上,它是如何产生的?@unixarmy:它是非官方的。。但我只是想知道它是如何工作的。