【问题标题】:convert array into proper JSON format for android using PHP使用 PHP 将数组转换为适用于 Android 的 JSON 格式
【发布时间】:2018-04-27 02:32:15
【问题描述】:

我正在使用Codeigniter 来获取行。请通过以下代码。

//Model

public function selectData() {
    $query = $this->db->query('SELECT * FROM tbl_favourites WHERE favourites_status = 1');
    $count = $query->num_rows();

    if($count > 0)
        return $result = $query->result_array();
    else
        return 0;
}

//Controller

$all_favourites = $this->select->selectData();

if(!empty($all_favourites)) {
    foreach($all_favourites as $favourites)
        echo json_encode($favourites);
}

从上面的代码,输出是

{"favourite_online_id":"3","favourite_online_url":"ddd","favourite_online_status":"0"}
{"favourite_online_id":"2","favourite_online_url":"http:\/\/www.google.com","favourite_online_status":"0"}

但我希望正确格式化输出以满足 android JSON。

所需的输出是,

[
  {
    "favourite_online_id": "3",
    "favourite_online_url": "ddd",
    "favourite_online_status": "0"
  },
  {
    "favourite_online_id": "2",
    "favourite_online_url": "http://www.google.com",
    "favourite_online_status": "0"
  }
]

【问题讨论】:

  • 而不是在foreachencode主数组中编码。 json_encode($all_favourites)

标签: php json codeigniter


【解决方案1】:

你可以通过两种方式进行

第一种方式

if(!empty($all_favourites)) {
  echo json_encode($all_favourites);
}

第二种方式

如果你想在那个对象中添加一些东西,那么

$favouriteArray=[];
if(!empty($all_favourites)) {
    foreach($all_favourites as $favourites){
      array_push($favouriteArray, $favourites);
    }
}
echo json_encode($favouriteArray);

【讨论】:

    【解决方案2】:

    我认为你可以修改你的函数

    public function selectData() {
        $query = $this->db->query('SELECT * FROM tbl_favourites WHERE favourites_status = 1');
        $count = $query->num_rows();
    
        if($count > 0)
            return $result = $query->result_array();
        else
            return array();
    }
    
    //Controller
    
    $all_favourites = $this->select->selectData();
    
    // if(!empty($all_favourites)) {
    //    foreach($all_favourites as $favourites)
    //        echo json_encode($favourites);
    // }
    echo json_encode($all_favourites);
    

    【讨论】:

      【解决方案3】:

      而不是使用

      if(!empty($all_favourites)) {
          foreach($all_favourites as $favourites)
              echo json_encode($favourites);
      }
      

      直接使用

      if(!empty($all_favourites)) {
      
              echo json_encode($all_favourites );
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-20
        • 1970-01-01
        • 2018-03-11
        • 2019-09-30
        • 2018-07-30
        • 2011-07-03
        相关资源
        最近更新 更多