为 jQuery 日历编码 JSON

Posted

技术标签:

【中文标题】为 jQuery 日历编码 JSON【英文标题】:Encoding JSON for jQuery Calendar 【发布时间】:2010-11-11 12:21:11 【问题描述】:

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

我已经开始从 mysql 数据库中获取事件数据并将其编码为 JSON 字符串,但我遇到了问题。插件附带的默认 JSON 示例可以正常工作,但我的不行。

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

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

如果您查看输出,就会发现存在细微的差异,但我相信这些差异是导致它无法正常工作的原因。您会看到,在示例输出中,所有内容都有方括号 [],包含每个单独的 JSON 字符串的只是花括号 。在我的输出中,只有花括号 包含每个字符串,外面没有括号。

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

【问题讨论】:

【参考方案1】:

您分别回显每个字符串,因此 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 对象。

【讨论】:

snipplr.com/view/17084/response-code这就是我使用的代码和底部的输出,为什么开头有额外的[]部分,那么第二个[]是我想要的?跨度> 从 while 循环中取出“echo json_encode($rows)”。所以: "while (fetch_array) $rows[] = array(); echo json_encode...." 你想在你的循环中建立数组,然后 json_encode 整个事情。 +1 你希望 json_encode 成为你在将信息组织到一个对象后做的最后一件事,而不是试图组合一堆 JSON 字符串

以上是关于为 jQuery 日历编码 JSON的主要内容,如果未能解决你的问题,请参考以下文章

jquery日历插件问题

如何在 jQuery 日历或 Angular Js 日历中将当前周末日期设置为默认日期。星期在星期日结束

怎样为DEDECMS织梦系统页面添加日历控件

jquery 日历控件在php中怎么使用

jQuery全日历:从前端为每个事件设置不同的颜色

JQuery calendar 日历控件去除已选日期问题?