PHP将数据库查询内容转换为JSON格式且显示中文
16lz
2021-01-24
最近写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 "
";echo '
';echo '编码后的json字符串:';echo $str=json_encode($jarr,JSON_UNESCAPED_UNICODE);//将数组进行json编码echo '
';$arr=json_decode($str);//再进行json解码echo '解码后的数组:';print_r($arr);//打印解码后的数组,数据存储在对象数组中mysqli_close($conn);
其实原理很简单,就是将数据库中的数据存储到一个数组之后,再对这个数组进行编码。但是,我们需要注意的是,如果数据库中有中文,而对其进行JSON编码之后,仍然想使其变为中文。我们需要在 json_encode()中加上一个选项, JSON_UNESCAPED_UNICODE。也就是避免对中文用utf-8编码。上面的代码已经实现。
更多相关文章
- 国外的通过Binder类创建Bound Service例子Create a Bound Servic
- Java集合框架——Android中的ArrayList源码分析
- 在 Android(安卓)中使用依赖注入 | AndroidDevSummit 中文字幕视
- Android官方开发文档Training系列课程中文版:支持不同的设备之支
- 数字签名的案例说明
- Android(安卓)Socket编程
- Andorid中的Spinner编写实例
- Android轻量级数据SparseArray详解
- Android拾萃 - RxJava2之创建操作符及其demo