duanchuiwen6694 2017-07-12 08:11
浏览 100
已采纳

在php中获取json对象而不是json数组

I want the result for the json_encode() as an array for example this:

[
   {
      "url":"http://localhost/.....",
      "name":"abc"
   },
   {
      "url":"http://localhost/.....",
      "name":"xyz"
   },
]

But I'm getting the result as an object as this :

{"images":[{"url":"http:\/\/192.168.0.100\/1.JPG","name":"abc"},{"url":"http:\/\/192.168.0.100\/2.JPG","name":"xyz"}]}

php code:

<?php 

//Importing dbdetails file 
 require_once 'dbDetails.php';

 //connection to database 
 $con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect...');

 //sql query to fetch all images 
 $sql = "SELECT * FROM images";

 //getting images 
 $result = mysqli_query($con,$sql);

 //response array 
 $response = array();  
 $response['images'] = array(); 

 //traversing through all the rows 
 while($row = mysqli_fetch_array($result)){
 $temp = array(); 
 $temp['url']=$row['url'];
 $temp['name']=$row['name'];
 array_push($response['images'],$temp);

 }

 //displaying the response 
 echo json_encode($response);

I have tried using array_values as this:

 echo json_encode(array_values($response));

But it results in an html code appended before the json string...

  • 写回答

1条回答 默认 最新

  • dongnaosuan5407 2017-07-12 08:14
    关注

    You need to do it like this:-

     $response = array();  
     //$response['images'] = array();  not needed
    
     //traversing through all the rows 
     while($row = mysqli_fetch_assoc($result)){ //since you are using name indexes so use _assoc()
       $temp = array(); 
       $temp['url']=$row['url'];
       $temp['name']=$row['name'];
       $response[] =$temp;
     }
    
     //displaying the response 
     echo json_encode($response);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘