php根据新浪淘宝ip 获取json数据的处理数组的方法

  • 利用新浪或者淘宝开放api调用ip获取地理位置的时候返回数据是以json形式展现的。但是怎么才能 把这些文件成功赋值给某一变量呢?

    \u4e2d\u56fd 这种怎么进行转码呢?
    PHP Code 复制内容到剪贴板
    1. 返回数据如下 {"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u5317","area_id":"100000","region":"\u5317\u4eac\u5e02","region_id":"110000","city":"\u5317\u4eac\u5e02","city_id"www.0771ybgc.com》:"110100","county":"","county_id":"-1","isp":"\u8054\u901a","isp_id":"100026","ip":"123.123.123.123"}}  
    2.   
    3. 但是怎么才能 把这些文件成功赋值给某一变量呢?  
    4. \u4e2d\u56fd 这种怎么进行转码呢?  
    5. 代码如下  
    6.   
    7. $ip="123.123.123.123";  
    8. //获取api的数据病赋值、$res  
    9. $res = @file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);  
    10.   
    11. //接收的值如下   
    12. //{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u5317","area_id":"100000","region":"\u5317\u4eac\u5e02","region_id":"110000","city":"\u5317\u4eac\u5e02","city_id":"110100","county":"","county_id":"-1","isp":"\u8054\u901a","isp_id":"100026","ip":"123.123.123.123"}}  
    13.   
    14.   
    15. 进行数据转换   
    16.   
    17. $json=preg_replace("#\\\u([0-9a-f]{4})#ie""iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))"$res);  
    18.   
    19. //转换完成以后的代码如下   
    20.   
    21. {"code":0,"data":{"country":"中国","country_id":"CN","area":"华北","area_id":"100000","region":"北京市","region_id":"110000","city":www.0771ybgc.com/xwzxin/5275.html》
      《www.0771ybgc.com/xwzxin/5276.html
      "北京市","city_id":"110100","county":"","county_id":"-1","isp":"联通","isp_id":"100026","ip":"123.123.123.123"}}  
    22.   
    23. //然后转换为数组  
    24.   
    25. $arr = (Array)json_decode($json);   
    26. //转换完成以后还需要一次遍历 赋值$ret;   
    27.     $ret = array();  
    28.     foreach($arr[data] as $key =>$value){  
    29.         if(gettype($value) == 'array' || gettype($value) == 'object'){  
    30.             $ret[$key] = objtoarr($value);  
    31.         }  
    32.         else{  
    33.             $ret[$key] = $value;  
    34.         }  
    35.     }  
    36.   
    37. //数组转换成功 可以直接调用数据  
    您可以查看->  php根据IP获取ip具体城市地区的方法  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值