需要帮助使用XML解码JSON

时间:2010-06-11 01:32:47

标签: php xml json

使用 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数据。

非常感谢任何有用的指示。

2 个答案:

答案 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];