不再是数组json以及如何在jquery中提醒json数据

时间:2013-01-21 20:52:24

标签: php arrays json codeigniter

不知道为什么这不再是数组而且{},{}

之间没有逗号
foreach ($query->result_array() as $row) {
    header("Content-type: application/json");
    echo (json_encode($row,JSON_PRETTY_PRINT));
}

如何在jquery中提醒json数据? 在此之前,我在js中使用for循环来循环它,但由于某种原因,我现在必须在服务器端循环。

被修改

//because i want to replace $row['url'] to get_thumb();    
foreach($query->result_array() as $row){
        $row['url'] = $this->vz_image->get_thumb($row['url'],'n');
        header("Content-type: application/json");
    echo (json_encode($row,JSON_PRETTY_PRINT));
    }

然后我得到了这个结果,但我不知道如何在jquery中提醒这个json数据。有什么帮助吗?

{
"id": "44",
"url": "assets\/img\/uploaded_photos\/thumbs\/1358786330_n.jpg",
"created_time": "1358786330",
"photo_id": "170",
"tag_id": "44",
"name": "Lan Yao Yeng",
"num_photo": "3"
}{
"id": "44",
"url": "assets\/img\/uploaded_photos\/thumbs\/1358711532_n.jpg",
"created_time": "1358711532",
"photo_id": "169",
"tag_id": "44",
"name": "Lan Yao Yeng",
"num_photo": "3"
}

2 个答案:

答案 0 :(得分:3)

它不是一个数组,因为你没有给它一个数组。

你一个接一个地回应着许多物体;不是一个对象数组。

答案 1 :(得分:2)

如果要将整个数组传递给客户端,只需编码数组本身,而不是每个元素。

function map($row){
    if (isset($row['url']))
        $row['url'] = $this->vz_image->get_thumb($row['url'],'n');
    return $row;
}

header("Content-type: application/json");
echo json_encode(array_map("map", $query->result_array()),JSON_PRETTY_PRINT);

如果您在课堂上使用此功能,则可能需要将array_map("map", $query->result_array())更改为array_map(array($this, "map"), $query->result_array())