header('Content-type:text/html;charset=utf-8');
$lines = file('http://ditu.google.cn/maps?output=js&q=快餐&sll=39.886557,116.336975&radius=5&start=0');  
foreach ($lines as $line_num => $line) {
$s.= ($line);
}
$s= iconv('GBK', 'UTF-8',$s);
//echo $s.'<br><br><br>===========================================<br><br><br>';
$start_str = "w.loadVPage(";$end_str = ",\"state\");}";$a = strpos($s,$start_str);$b = strpos($s,$end_str);$string= substr($s,$a+strlen($start_str),$b-$a-strlen($start_str));//print_r($string);print_r(json_decode($string,true));我php版本为5.2
print_r(json_decode($string,true))没有任何输出,各位大侠,这里的$string要怎样遍历呢?

解决方案 »

  1.   

    楼主,你的字符串保存在json对象里了吗?
      

  2.   

    我上面代码中的$string已经是json的格式了
    php中json是这样用的啊:
    $json='{"item1":[{"name":[{"chen":"chenling","ling":"chenli"}],"sex":"男","age":"25"},{"name":"sun","sex":"女","age":"24"}]}';
    $J=json_decode($json);
    print_r($J);
      

  3.   

    你检查一下你的$string是否已经保存成相关数组了。
      

  4.   

    你也知道要这样的:{"item1":[{"name":[{"chen":"chenling","...
    但是读到的是这样的:{title:"快餐 - Google 地图",url:"/maps?q=%E5%BF%AB%E9%A4%...区别在于名称没有用引号括起
      

  5.   

    java可以用json来处理,不知道php有没有这样的json处理类呢
      

  6.   

    有,你可以搜索一下
    http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&rls=com.microsoft:zh-cn:IE-SearchBox&rlz=1I7BJYT_zh-CN&&sa=X&ei=--t0TOfJEMWrcZDjhY8G&ved=0CBkQBSgA&q=php+json&spell=1
      

  7.   

    偷懒不是好主义!我帮你看吧,到这篇文章处下载一个json类 http://www.eb163.com/blog/blog.php?blogid=34在你的代码后面加上:
    require_once('JSON.php');
    $json = new Services_JSON();
    $value = $json->decode($string); 
    print_r($value);于是得到stdClass Object
    (
        [title] => 快餐 - Google 地图
        [url] => /maps?q=%E5%BF%AB%E9%A4%90\x26sll=39.886557,116.336975\x26radius=5\x26start=0\x26ie=UTF8\x26hq=%E5%BF%AB%E9%A4%90\x26hnear=
        [urlViewport] => 
        [ei] => ZcJ1TMDlD4WcvgPG1vz4Bg
        [form] => stdClass Object
            (
                [selected] => q
                [q] => stdClass Object
                    (
                        [q] => 快餐
                        [attr] => 方圆 8 公里之内
                        [what] => 快餐
                        [near] => 
                    )            [d] => stdClass Object
                    (
                        [saddr] => 
                        [daddr] => 
                        [dfaddr] => 
                    )            [geocode] => 
            )    [query] => stdClass Object
            (
                [type] => l
            )    [viewport] => stdClass Object
            (
                [center] => stdClass Object
                    (
                        [lat] => 0
                        [lng] => 0
                        [alt] => stdClass Object
                            (
                                [ll] => 34525791589578067142
                                [mode] => 2
                            )                )            [span] => stdClass Object
                    (
                        [lat] => 0.006295
                        [lng] => 0.006295
                    )            [mapType] => 
            )    [modules] => Array
            (
                [0] => 
                [1] => truffle
                [2] => strr
                [3] => qopa
                [4] => mpcl
                [5] => appiw
            )    [overlays] => stdClass Object
            (
                [sxcar] => 
                [ers] => Array
                    (
                        [0] => stdClass Object
                            (
                                [id] => A
                                [cid] => 10986699045790086426
                                [latlng] => stdClass Object
                                    (
                                        [lat] => 0
                                        [lng] => 0
                                        [alt] => stdClass Object
                                            (
                                                [ll] => 34525821589557137026
                                                [mode] => 2
                                            )                                )                            [image] => http://maps.gstatic.cn/intl/zh-CN_cn/mapfiles/erA.png
                                [sprite] => stdClass Object
                                    (
                                        [width] => 20
                                        [height] => 34
                                        [top] => 0
                                        [image] => http://maps.gstatic.cn/intl/zh-CN_cn/mapfiles/red_ers_A_J2.png
                                    )                            [icon_id] => A
                                [drg] => 1
                                [laddr] => 北京市宣武区广安门外大街180号 (必胜客(广外华联店))
                                [geocode] => CWeweQ1LFZp2FeepYAIdgCvvBiEa9XB2kph4mA
                                [name] => 必胜客(广外华联店)
                                [infoWindow] => stdClass Object
                                    (
                                        [title] => 必胜客(广外华联店)
                                        [addressLines] => Array
                                            (
                                                [0] => 北京市宣武区广安门外大街180号
      
    ......
      

  8.   


    xuzuning 用的是什么编辑器?在浏览器中输出的很乱...stdClass Object ( [title] => 快餐 - Google 地图 [url] => /maps?q=%E5%BF%AB%E9%A4%90\x26sll=39.886557,116.336975\x26radius=5\x26start=0\x26ie=UTF8\x26hq=%E5%BF%AB%E9%A4%90\x26hnear= [urlViewport] => [ei] => Qcl1TJXtEoaVkAW-wZWrCw [form] => stdClass Object ( [selected] => q [q] => stdClass Object ( [q] => 快餐 [attr] => 方圆 8 公里之内 [what] => 快餐 [near] => )
      

  9.   

    是zendstudio 的Debug Output?
      

  10.   

    本帖最后由 xuzuning 于 2010-08-26 11:09:29 编辑