为jQuery日历编码JSON

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

我开始从MySQL数据库中获取事件数据并将其编码为JSON字符串,但我遇到了一个问题。 插件附带的默认JSON示例工作正常,但我的不是。 </ p>

以下是示例代码 - 链接</ a > | 这是输出 - 链接 </ p>

< p>这是我的代码 - 链接 | 这是输出 - 链接 </ p>
\ n

如果你看一下输出,就会有一些差异,但我认为这些差异使它无法正常工作。 您将看到在示例输出中,所有内容都有方括号[],并且包含每个单独的JSON字符串只是大括号{}。 在我的输出中,只有包含每个字符串的花括号{},外面没有括号。</ p>

请帮忙吗? 这是我第一次使用JSON!</ p>
</ div>

展开原文

原文

I'm trying to use the PHP json_encode function to encode some JSON to send along to a jQuery plugin that will render out a calendar. The plugin's name is FullCalendar.

I've started on grabbing event data from a MySQL database and encoding it in a JSON string, but I've run into a problem. The default JSON example that comes with the plugin works just fine, but mine does not.

Here is the example code - link | Here is the output - link

Here is my code - link | Here is the output - link

If you look at the outputs, there are suttle differences, but I believe that these differences are what is making it not work. You'll see that in the example output, there are brackets [] around everything, and containing each individual JSON string is just the curly braces {}. In my output, there are just curly braces {} containing each string, no brackets on the outside.

Help please? This is my first time using JSON!

1个回答

You're echoing each string separately, so json_encode never knows it's a list.

You could change your while statement to build up the list:

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

to

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

then json_encode the whole thing:

echo json_encode($rows);

That will output the [{...},{...}] structure you're looking for, which is a valid JSON object.

doudao6529
doudao6529 +1你希望json_encode是你在将信息组织到一个对象后做的最后一件事,而不是试图组合一堆JSON字符串
大约 11 年之前 回复
dounuogong0358
dounuogong0358 非常感谢,现在一切都很好!
大约 11 年之前 回复
douzachan4578
douzachan4578 从while循环中取出“echo json_encode($ rows)”。 所以:“while(fetch_array){$ rows [] = array();} echo json_encode ....”你想在你的循环中构建数组,然后json_encode整个事情。
大约 11 年之前 回复
doukang7486
doukang7486 snipplr.com/view/17084/response-code这是我正在使用的代码和底部的输出,为什么它在开头有额外的[]部分,然后第二个[]是我想要的?
大约 11 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐