• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

问一下这个JS数据如何解码,

php 搞代码 3年前 (2022-01-23) 21次浏览 已收录 0个评论
文章目录[隐藏]

问一下这个JS数据如何解码,

数据地址:http://list.taobao.com/itemlist/default.htm?_input_charset=utf-8&json=on&cat=0&style=grid&pcat=food2011&q=ps&rr=1&spm=a2106.m5221.1000187.1&commend=all&pSize=95&_ksTS=1382516137021_144&callback=jsonp145

先声明,用php的json_decode是不行的哦

回复讨论(解决方案)

很明显,去掉jsonp( 和后面 )用json_decode就可以了

不行的。我试过的

我特意试过了,为啥不成呢!

我特意试过了,为啥不成呢!

编码会导致不行的。我以前遇到这种的做法是用JS提交给PHP。

我现在要在PHP中解码,还原成数组,如何做?

你试试这个
$str ='{ “status”: { “code”: “200” , “url”: “” }, 弄成类似于这样,把括号还有前面那几个字母去掉

$str ='jso<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>n数据'; $web=json_decode($str);$arr=json_to_array($web);print_r($arr);function json_to_array($web){$arr=array();foreach($web as $k=>$w){if(is_object($w)) $arr[$k]=json_to_array($w);  //判断类型是不是object   else $arr[$k]=$w;}    return $arr;}

这是jsonp,给你javascript调用的 ,用jquery的jsonp方式请求,自己百度吧,或者自己写一个
原理就是url里面callback参数是你预先要定义的函数名

<meta charset=utf-8 /><title>JS Bin</title><body>  <script type='text/javascript'>    function jsonp145(data){      alert(data.status.code);//200    }  </script>  <script src='http://list.taobao.com/itemlist/default.htm?_input_charset=utf-8&json=on&cat=0&style=grid&pcat=food2011&q=ps&rr=1&spm=a2106.m5221.1000187.1&commend=all&pSize=95&_ksTS=1382516137021_144&callback=jsonp145'></script>

你如果要php请求这个链接,就把callback参数去掉

$url = 'http://list.taobao.com/itemlist/default.htm?_input_charset=utf-8&json=on&cat=0&style=grid&pcat=food2011&q=ps&rr=1&spm=a2106.m5221.1000187.1&commend=all&pSize=95&_ksTS=1382516137021_144&callback=jsonp145';$s = file_get_contents($url);preg_match('/{.+}/s', $s, $r); //他返回的是js函数,所以需要脱括号$o = json_decode(iconv('gbk', 'utf-8', $r[0]), true);//他的数据是gbk的,但json_decode只能处理utf-8的函数print_r($o);

Array
(
[status] => Array
(
[code] => 200
[url] =>
)

[crumb] => Array
(
[marketInfo] => Array
(
[displayName] => 所有市场
[marketHref] => http://list.taobao.com/cat-0.htm
)

[catPathList] => Array
(
)

)

[keyword] => Array
(
[key] => q
[value] => ps
)

[sort2List] =>
[promotion] => Array
…..

需要解码吗?我直接打开就看到数据了啊

jsonp145(你要的数据内容)括号内就是啊


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:问一下这个JS数据如何解码,

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址