写API的时候,经常会使用到的数据格式有两种,一种是JSON,一种是XML。
璞玉选择的是JSON来做处理,因为那样很直接,方便。

前几天在写一个下载的接口,主要是用户发送一个KEY,然后判断,合理就用header去下载。
其中遇到了几些问题:

1.  php中使用json_decode 显示NULL
2.  php获取的json数据中文乱码

下面来分析下:
server  API端代码dome:

 $file = file("/var/log/data.log");
 $arr = array();
 sort($file);
 $i = 1;
 foreach($file as $key=>$value){
 if($value !=""){
 $value = mb_check_encoding($value, 'UTF-8') ? $value : utf8_encode($value);
 $arr[$i] = urlencode ($value);
 }
 $i++;
 }

 $arr =json_encode( $arr);
 die(urlencode($arr));

client端 demo:

$json = file_get_contents("http://www.pooy.net/api.php");
 //$arr = json_decode($arr);
 //var_dump($arr);
 //使用iconv转码的时候一定要看清楚自己网站的编码是什么。不要盲目转码
 $json = iconv('GBK','utf-8', $json);
 $new_Arr = json_decode($json, true);

这就是PHP操作json demo,php json使用说明。php处理JSON的几个注意事项:http://www.pooy.net/several-considerations-for-php-json.html

 

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

请选择吧!