2009-07-16 88 views
2

我正在尝试使用PHP json_encode函数对一些JSON进行编码,以便发送到一个将呈现日历的jQuery插件。该插件的名称是FullCalendar为JQuery日历编码JSON

我已经开始从MySQL数据库中抓取事件数据并将其编码到JSON字符串中,但我遇到了一个问题。插件自带的默认JSON例子工作得很好,但我的没有。

以下是示例代码 - link |这里是输出 - link

这是我的代码 - link |这里是输出 - link

如果你看看输出,有差异,但我相信这些差异是什么使它不起作用。在示例输出中,您会看到在所有内容中都有括号[],并且包含每个单独的JSON字符串就是花括号{}。在我的输出中,只有大括号{}包含每个字符串,而外部没有括号。

请帮忙吗?这是我第一次使用JSON!

回答

5

你在分别回显每个字符串,所以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对象。

+0

http://snipplr.com/view/17084/response-code/ 这就是我使用的代码和底部的输出,为什么它在开头有额外的[]部分,然后是第二[]是我想要的? – 2009-07-16 20:33:34