-1

我正在尝试使用 codeigniter 制作和返回 json 数据。我想以这种格式接收该数据

[
  {
     'title': 'this is title',
     'desc':  'THis is desc'
  },
   {
     'title': 'this is title',
     'desc':  'THis is desc'
  }
]

但我以这种方式接收它

[[{"title":"this is title","desc":"this is desc"}],[{"title":"this is title","description":"this is desc"}]]

如何将此格式更改为上述格式?

这是我的代码

public function v1 () {
    $this->load->model('model_jokes');

    $jokes = $this->model_jokes->readJokes();
    $arr = array();
    foreach ($jokes as $joke) {
        $arr[] = array(
                array(
                    'title' => $joke->title,
                    'description' => $joke->joke
                )
            );
    }
    echo json_encode($arr);
}
4

3 回答 3

1

将内部赋值foreach

$arr[] = array(
  'title' => $joke->title,
  'description' => $joke->joke
);

否则,您将为每个$joke.

于 2012-10-31T06:41:19.283 回答
1

您每次都在循环中添加数组元素的数组。相反,只需添加单个数组。

public function v1 () {
    $this->load->model('model_jokes');

    $jokes = $this->model_jokes->readJokes();
    $arr = array();
    foreach ($jokes as $joke) {
        $arr[] = array(
                    'title' => $joke->title,
                    'description' => $joke->joke
            );
    }
    echo json_encode($arr);
}
于 2012-10-31T06:43:53.030 回答
0

尝试 :

echo '<pre>'.json_encode($arr).'</pre>';
于 2012-10-31T06:55:29.873 回答