Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要帮助用XML解码JSON吗_Php_Xml_Json - Fatal编程技术网

Php 需要帮助用XML解码JSON吗

Php 需要帮助用XML解码JSON吗,php,xml,json,Php,Xml,Json,使用打印($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>"]}); cbfunc({“query”:{“count”:“12”,“created”:“

使用打印($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>"]}); 
cbfunc({“query”:{“count”:“12”,“created”:“2010-06-11T01:20:19Z”,“lang”:“en-US”},“results”:[“\n 238.l.739089.t.4\n 4\n CHEE-HOO!!!”]);
对我来说,它看起来像JSON,所以我尝试使用JSON_解码,但无法正确使用。我的目标是打印“结果”中的xml数据


任何有用的指针都将不胜感激。

它看起来像是包装在回调
cbfunc
中。因此,在对其运行json_解码之前,需要将其去掉

试一试


您不会显示responseText的结尾,但上面的代码片段应该会提供回调“cbfunc”()的开始和最后一个字符(exclusive)之间的所有内容。如果还有;等,您可能必须将其更改为-2。

感谢ZZ编码器的响应,我找到了解决方案

根据a.JSONP需要通过一个方便的preg_替换将其转换为JSON(无填充)

$var=preg_replace('/.+?({.+}).+/','$1',$var); 
然后,可以解析JSON以打印结果数据:

$obj = json_decode($var, true);
print $obj["results"][0];

这是JSONP(带填充的JSON)。有什么原因让你从YQL得到JSONP-X响应而不是普通的XML或普通的JSON吗?@salathe我不完全确定为什么会得到这样的响应。我一直在使用YQL调用。不过,你对了解它的YQL有着非常敏锐的眼光!:)谢谢你的回复。我试了你的建议,但还是没有成功。尽管我确实找到了将JSONP转换为JSON的解决方案:$var=preg_replace('/.+?({.+})。+/','$1',$var);
$obj = json_decode($var, true);
print $obj["results"][0];