热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

问一下这个JS数据怎么解码

问一下这个JS数据如何解码,问一下这个JS数据如何解码,数据地址:http://list.taobao.com/itemlist/default.htm?_input_charset=utf-8&json=on&cat=0&style=grid&pcat=food
问一下这个JS数据如何解码,
问一下这个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,给你Javascript调用的 ,用jquery的jsonp方式请求,自己百度吧,或者自己写一个
原理就是url里面callback参数是你预先要定义的函数名







  
  



你如果要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
.....
推荐阅读
author-avatar
huangzhu321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有