Загруженный вами JSON не является допустимым JSON. Я думаю, что вы ожидаете, что массив JSON выглядит следующим образом.
[{
"id": "1",
"title": "doc 1",
"doc": "Lorem Ipsum",
"lastsaved": "2012-02-12 08:33:49"
}, {
"id": "3",
"title": "doc 2",
"doc": "another lorem ipsum document",
"lastsaved": "2012-02-12 08:39:31"
}]
Обратите внимание на наличие квадратных скобок и запятых. Чтобы получить такой вывод, используйте json_encode()
для массива объектов (или ассоциативных массивов, в зависимости от того, что вы используете), вместо того, чтобы выводить каждый из них по отдельности. Например вместо:
while ($row = mysql_fetch_assoc($result)) {
$arr = array('id'=>$row['id'],'title'=>$row['title'],'doc'=>$row['doc'],'lastsaved'=>$lastsaved = $row['lastsaved']);
echo json_encode($arr);
}//end while
Do:
$arr = array();
while ($row = mysql_fetch_assoc($result)) {
$arr[] = array('id'=>$row['id'],'title'=>$row['title'],'doc'=>$row['doc'],'lastsaved'=>$lastsaved = $row['lastsaved']);
}//end while
echo json_encode($arr);
Если у вас много данных, которые могут не помещаться в память как один массив, вы можете попробовать:
- эхо
[
символ
- Для каждого объекта, который вы хотите проанализировать:
- эхо
,
символ, если это не первый объект
- эхо JSON для вашего объекта
- эхо
]
символ