Кодировка JSON для календаря jQuery - PullRequest
2 голосов
/ 16 июля 2009

Я пытаюсь использовать функцию PHP json_encode для кодирования некоторого JSON для отправки в плагин jQuery, который будет выводить календарь. Имя плагина FullCalendar .

Я начал собирать данные о событиях из базы данных MySQL и кодировать их в виде строки JSON, но столкнулся с проблемой. Пример JSON по умолчанию, поставляемый с плагином, прекрасно работает, а мой - нет.

Вот пример кода - ссылка | Вот вывод - ссылка

Вот мой код - ссылка | Вот вывод - ссылка

Если вы посмотрите на результаты, есть некоторые различия, но я считаю, что именно эти различия делают его неработоспособным. Вы увидите, что в выходных данных примера есть скобки [] вокруг всего, и каждая отдельная строка JSON содержит только фигурные скобки {}. В моем выводе есть только фигурные скобки {}, содержащие каждую строку, без скобок снаружи.

Помогите пожалуйста? Я впервые использую JSON!

1 Ответ

5 голосов
/ 17 июля 2009

Вы выводите каждую строку отдельно, поэтому json_encode никогда не узнает, что это список.

Вы можете изменить оператор while для создания списка:

while($row = $result->fetch_array(MYSQLI_ASSOC))
{
    echo json_encode(array( 
    ....

до

$rows = array();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
     $rows[] = array( 
     ....
}

затем json_encode целиком:

echo json_encode($rows);

Это выведет искомую структуру [{...}, {...}], которая является допустимым объектом JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...