-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

ループ内で毎回配列要素の配列を追加しています。代わりに、単一のアレイを追加するだけです。

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 に答える
1

内部で割り当てを行いforeachます

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

それ以外の場合は、各 の多次元配列を取得します$joke

于 2012-10-31T06:41:19.283 に答える
0

試す :

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