使用 print_r($ var)时,我有一组看起来像这样的数据:
cbfunc({"query":{"count":"12","created":"2010-06-11T01:20:19Z","lang":"en-US"},"results":["\n 238.l.739089.t.4<\/team_key>\n 4<\/team_id>\n CHEE-HOO!!!<\/name>"]});
对我来说它看起来像JSON,所以我尝试使用json_decode但是无法正确使用它。我的目标是打印“结果”中的xml数据。
非常感谢任何有用的指示。
答案 0 :(得分:1)
看起来它包含在回调cbfunc
中。所以你需要先删除它,然后再运行json_decode。
尝试
$decode_this = substr($var, 6, -1);
你没有显示responseText的结尾,但是上面的代码片段应该给你回调的开头'cbfunc('和最后一个char,不包括。)如果有的话,你可能需要将它改为-2。也是一个;等等。
答案 1 :(得分:1)
感谢ZZ Coder的回复,我找到了解决方案。
根据comment on the json function at PHP。 JSONP需要通过方便的preg_replace ...
转换为JSON(无填充)$var=preg_replace('/.+?({.+}).+/','$1',$var);
然后,可以解析JSON以打印结果数据:
$obj = json_decode($var, true);
print $obj["results"][0];