为 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的主要内容,如果未能解决你的问题,请参考以下文章