这篇文章将为大家详细讲解有关php将结果集转json的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
php将结果集转json的方法:首先将数据库中的数据存储到一个数组;然后对这个数组进行编码;最后通过“ json_encode”函数进行json编码并打印结果即可。
PHP将数据库查询内容转换为JSON格式且显示中文
最近写android,开始写服务器了。最终服务器的语言就先定为PHP,因为以前写过一阵子网页,所以就先用PHP试试水。
那么首先为了实现android前端与服务器交互,那么我们服务器传输的数据就要先变为JSON格式。
那么如何将数据库中的内容查询出来,并且使其转变为JSON格式呢?代码如下:
if(isset($_GET["userid"])){ $userid=$_GET["userid"]; echo $userid; $sql="select * from user where userid='$userid'"; } $result=mysqli_query($conn,$sql); if (!$result) { printf("Error: %s\n", mysqli_error($conn)); exit(); } $jarr = array(); while ($rows=mysqli_fetch_array($result,MYSQL_ASSOC)){ $count=count($rows);//不能在循环语句中,由于每次删除 row数组长度都减小 for($i=0;$i<$count;$i++){ unset($rows[$i]);//删除冗余数据 } array_push($jarr,$rows); } print_r($jarr);//查看数组 echo "<br/>"; echo '<hr>'; echo '编码后的json字符串:'; echo $str=json_encode($jarr,JSON_UNESCAPED_UNICODE);//将数组进行json编码 echo '<br>'; $arr=json_decode($str);//再进行json解码 echo '解码后的数组:'; print_r($arr);//打印解码后的数组,数据存储在对象数组中 mysqli_close($conn);
其实原理很简单,就是将数据库中的数据存储到一个数组之后,再对这个数组进行编码。但是,我们需要注意的是,如果数据库中有中文,而对其进行JSON编码之后,仍然想使其变为中文。我们需要在 json_encode()中加上一个选项, JSON_UNESCAPED_UNICODE。也就是避免对中文用utf-8编码。上面的代码已经实现。
关于php将结果集转json的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。