简体   繁体   English

如何从 Mysql 中获取 json 数据并将其转换为 CodeIgniter 中的数组

[英]How to fetch json data from Mysql and convert it to an array in CodeIgniter

I have get the MySQL result as below format.我得到了如下格式的 MySQL 结果。 I want to send this as JSON array format in an app.The keyword data are stored JSON array format in db.我想在应用程序中将此作为 JSON 数组格式发送。关键字数据以 JSON 数组格式存储在 db 中。 How to send this as JSON array ?如何将其作为 JSON 数组发送?

MySQL RESULT MySQL结果

Array 
(
    [groups] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 7
                    [category_name] => Serial
                    [group_name] => test group
                    [description] => efrt
                    [image] => 9955_1475731912.png
                    [time] => 07:30 AM
                    [member_count] => 0
                    [keyword] => [{"key_id":"1","key_name":"HBO"},
                                 {"key_id":"2","key_name":"BOLLYWOOD HUNGAMA"},
                                 {"key_id":"3","key_name":"SERIALS"}]
                )

        )

        "member_count": "0"
    }]
}

JSON ENCODE FORMAT JSON 编码格式

{
  "groups": [
    {
      "id": "7",
      "category_name": "Serial",
      "group_name": "test group",
      "description": "efrt",
      "image": "9955_1475731912.png",
      "time": "07:30 AM",
      "member_count": "0",
      "keyword": "[{\"key_id\":\"1\",\"key_name\":\"HBO\"},
                  {\"key_id\":\"2\",\"key_name\":\"BOLLYWOOD HUNGAMA\"},
                  {\"key_id\":\"3\",\"key_name\":\"SERIALS\"}]"
    }
  ]
}

First create a php array in the way you want to encode in-side the function or use the below sample in model (which extends CI_Model)首先以您想要在函数内部编码的方式创建一个 php 数组,或者在模型中使用以下示例(扩展 CI_Model)

$query_result = $result->result(); //for get result array 
return json_encode($query_result);

sample样本

    $array = array("test"=>"hhh",array("us"=>"letter","test"=>"ttt"));
    //print_r(json_encode($array));
    return json_encode($array);

I use this method for my Question我用这个方法来解决我的问题

    foreach ($result['groups'] as $key ) {
                $json = $key->keyword;
                $keys = json_decode($json);
                $arrayName = array();
                foreach ($keys as $value) {
                     $key_id = $value->key_id;
                     $key_name = $value->key_name;
                     $arrayName[] = array('key_id' =>$key_id ,'key_name'              =>$key_name);
                }
    $key->keyword =  $arrayName;
 }
 $result['success']= 1; 
 echo json_encode($result);
 exit();
$this->output
    ->set_content_type('application/json')
    ->set_output(json_encode($result->result()->groups));

I think this will solve it我认为这会解决它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM