首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >难以将php转换为json文件

难以将php转换为json文件
EN

Stack Overflow用户
提问于 2016-11-15 04:07:57
回答 1查看 56关注 0票数 0

我已经厌倦了将PHP转换为JSON文件,但是生成的JSON文件与通常发生的情况非常不同。这张表在下面

代码语言:javascript
复制
 rid    rname     mobile       email          address     opentiming       closetiming    menuid       type     averagecost         image
  1     abc     9876543212 sbjaca@gmail.com  fdsjdsfdnm    00:10:00          00:00:00        1         asian       120         http://gjsblog.esy.es/images/download.png
  2    abcdefc  9876543212  ajit@gmail.com    qwertym      00:00:03          00:00:04        2        chinese      120         http://gjsblog.esy.es/images/The_Table.png

php文件如下所示

代码语言:javascript
复制
 //retrieve.php
<?php
include("dbconfig.php");
$result = @mysql_query("select * from Restaurants ");   

$response =array();

if(@mysql_num_rows($result)>0){

    $response['Restaurants'] = array();

    while($row=@mysql_fetch_array($result)){
        array_push($response['Restaurants'], $row);
    }
}

 if($result){
    $response['success']=1;
    $response['message']="Records Retrieved sucessfully";
 }else{
    $response['success']=0;
    $response['message']="Retrieval Failure";
 }

 echo json_encode($response);

?>

JSON两次在列中包含数据,一次在列名之前,一次在列名之后。JSON显示为

代码语言:javascript
复制
{
  "Restaurants": [
    {
      "0": "1",
      "rid": "1",
      "1": "abc",
      "rname": "abc",
      "2": "9876543212",
      "mobile": "9876543212",
      "3": "sbjaca@gmail.com",
      "email": "sbjaca@gmail.com",
      "4": "fdsjdsfdnm",
      "address": "fdsjdsfdnm",
      "5": "00:10:00",
      "opentiming": "00:10:00",
      "6": "00:00:00",
      "closetiming": "00:00:00",
      "7": "1",
      "menuid": "1",
      "8": "asian",
      "type": "asian",
      "9": "120",
      "averagecost": "120",
      "10": "http:\/\/gjsblog.esy.es\/images\/download.png",
      "image": "http:\/\/gjsblog.esy.es\/images\/download.png"
    },
    {
      "0": "2",
      "rid": "2",
      "1": "abcdefc",
      "rname": "abcdefc",
      "2": "9876543212",
      "mobile": "9876543212",
      "3": "sbjaca@gmail.com",
      "email": "sbjaca@gmail.com",
      "4": "fdsjdsfdnm",
      "address": "fdsjdsfdnm",
      "5": "00:00:03",
      "opentiming": "00:00:03",
      "6": "00:00:04",
      "closetiming": "00:00:04",
      "7": "2",
      "menuid": "2",
      "8": "chinese",
      "type": "chinese",
      "9": "120",
      "averagecost": "120",
      "10": "http:\/\/gjsblog.esy.es\/images\/The_Table_(restaurant)_logo.png",
      "image": "http:\/\/gjsblog.esy.es\/images\/The_Table_(restaurant)_logo.png"
    }
  ],
  "success": 1,
  "message": "Records Retrieved sucessfully"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-15 05:15:25

变化

代码语言:javascript
复制
while($row=@mysql_fetch_array($result))

代码语言:javascript
复制
while($row=@mysql_fetch_array($result, MYSQL_ASSOC))

因为如果您只使用第一个语句,MYSQL_BOTH将被用作默认值,并使结果数组类似于此。

只是一个建议,您最好使用MySQLi或PDO_MySQL,因为mysql_fetch_array在PHP5.5.0中已被废弃,在PHP7.0.0中被删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40601857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档