PHP中把数据库查询结果输出为json格式

<?php
header("Content-type:text/html;charset=utf-8");//字符编码设置
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "tjks";  

// 创建连接
$con =mysqli_connect($servername, $username, $password, $dbname);  

// 检测连接  

$sql = "SELECT * FROM brands";
$result = mysqli_query($con,$sql);
if (!$result) {
    printf("Error: %s\n", mysqli_error($con));
    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编码
echo ‘<br>‘;
$arr=json_decode($str);//再进行json解码
echo ‘解码后的数组:‘;
print_r($arr);//打印解码后的数组,数据存储在对象数组中
mysqli_close($con);
?> 

输出内容如下:

Array ( [id] => 1 [name] => GNC ) Array ( [id] => 2 [name] => TCBJ ) Array ( [id] => 3 [name] => TJKS )
Unicode编码后的json数据: [{"id":"1","name":"GNC"},{"id":"2","name":"TCBJ"},{"id":"3","name":"TJKS"}] 

可以看到,直接进行json_encode();编码,是将三个数组分别转为了json格式,而且两端会出现中括号!!还有另外一种写法

<?php
header("Content-type:text/html;charset=utf-8");//字符编码设置
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "tjks";  

// 创建连接
$con =mysqli_connect($servername, $username, $password, $dbname);  

// 检测连接  

$sql = "SELECT * FROM brands";
$result = mysqli_query($con,$sql);
if (!$result) {
    printf("Error: %s\n", mysqli_error($con));
    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>‘;

$jobj=new stdclass();//实例化stdclass,这是php内置的空类,可以用来传递数据,由于json_encode后的数据是以对象数组的形式存放的,
//所以我们生成的时候也要把数据存储在对象中
foreach($jarr as $key=>$value){
$jobj->$key=$value;
}
echo ‘传递属性后的对象:‘;
print_r($jobj);//打印传递属性后的对象
echo ‘<br>‘;
echo ‘编码后的json字符串:‘.json_encode($jobj).‘<br>‘;//打印编码后的json字符串
mysqli_close($con);
?> 

输出内容如下:

Array ( [0] => Array ( [id] => 1 [name] => GNC ) [1] => Array ( [id] => 2 [name] => TCBJ ) [2] => Array ( [id] => 3 [name] => TJKS ) )
传递属性后的对象:stdClass Object ( [0] => Array ( [id] => 1 [name] => GNC ) [1] => Array ( [id] => 2 [name] => TCBJ ) [2] => Array ( [id] => 3 [name] => TJKS ) )
编码后的json字符串:{"0":{"id":"1","name":"GNC"},"1":{"id":"2","name":"TCBJ"},"2":{"id":"3","name":"TJKS"}}

这样一来,中括号没有了,数组也成为了有序的数组!

时间: 2024-10-22 00:17:01

PHP中把数据库查询结果输出为json格式的相关文章

Django中的数据库查询

web应用需要经常向数据库查询相关的数据,Django语言也不例外.了解Django中的数据查询操作,对于优化应用的性能,有着重要的意义. 基础信息 Django中,model通过Manager获取QuerySet,每个model至少有objects这个 Manager . QuerySet 可以有一个或多个 filter , filter 根据传入的参数返回 QuerySet 结果. 用SQL来对比, QuerySet 相当于 SELECT , filter 相当于 WHERE 或者是 LIM

PHP简单获取数据库查询结果并返回JSON

<?php header("Content-type:text/html;charset=utf-8"); //连接数据库 $con = mysql_connect("localhost","root",""); if ($con) { //选择数据库 mysql_select_db("test",$con); //获得GET里面的值 $idid = $_GET["id"]; //

从数据库中的到数据对其转换为json格式(三)

从数据库中得到结果集 public String list() throws Exception { Connection con = null; PageBean pageBean = new PageBean(Integer.parseInt(page), Integer .parseInt(rows)); try { con = dbUtil.getCon(); JSONObject result = new JSONObject(); JSONArray jsonArray = Json

提取url中参数的方法(转换成json格式)

还是直接上代码吧. //将url中的参数获取到并抓换成json格式 function serilizeUrl(url){ var urlObject={}; //1.正则匹配是不是以?结尾 if(/\?/.test(url)){ //substring 截取指定位置的之间的字符串, //第一个值是起始下标,第二个可不不写, //不写就一直截取到最后 //2.截取?后面的东西 var urlString = url.substring(url.indexOf('?')+1) //3.将&去除 加入

如何在QML应用中动态修改ListModel中的数据并存储它为JSON格式

我们知道JSON数据格式被广泛使用在很多的应用中,它可以帮我们保存我们应用的设置数据等.在QML中的ListView或GridView中,我们使用ListModel来显示它里面的数据.这个数据可以来源于xml或JSON.在ListView或GridView中,我们也可以动态修改ListModel中的数据.那么我们将如何保存这个数据呢?本篇文章也同样适用于xml格式的保存.这个练习就留个开发者自己了.当然保存ListModel中的数据也可以使用到SQLite数据库.这个因人而已! 为了方便我们的设

MySQL树形查询结果封装成Json格式,返回给easyui treegrid

private String createTreeJson(List<SchedJob> list) {       JSONArray rootArray = new JSONArray();       for (int i=0; i<list.size(); i++) {        SchedJob resource = list.get(i);        System.out.println(resource.getJobid()+"--------"

将sqlalchemy 查询结果转化成json格式

models.py class CompanyGoodsModel(Base): id=Column(Integer, primary_key=True) company_id = Column(Integer) ... #我们在model中定义一个to_json方法,来获取模型的数据 def to_json(self): dict = self.__dict__ if "_sa_instance_state" in dict: del dict["_sa_instance_

c#后台一般处理程序中把变量的值拼成json格式字符串

//一般处理程序代码string login_name = context.Request["login_name"].Trim(); BLLS data = new BLLS(); string select_id = "select use_id from sq_sgxhcom.fru_users where [email protected]"; int use_id = Convert.ToInt32(data.Select(select_id, login

wcf接口输出为json格式

接口定义: [OperationContract] [WebInvoke(UriTemplate = "AddTask?taskId={taskId}&processGuid={processGuid}", Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] Stream AddTask(Stream reques