2013-03-25 50 views
0

这可能是一个愚蠢的问题,但因为我没有编程很久我不知道为什么我应该发送数组中的Json数据?我问的原因是我正在用Ajax回调构建一个简单的jQuery表单(对于简单的事情,使用json是不必要的,但我想学习如何使用它)。该脚本向一个php函数发送一个id号码,这取决于id号码可以返回一个或多个表单。所以问题是为什么我应该发送一个数组中的JSON数据?JSON数据在数组中的原因?

不知道它是否重要,但这里是正在重新调整数据的结构。

foreach ($list as $row) { 
    $out[] = ('<tr><td><a href="'.$row['link_form'].'">'.$row['name_form'].'</a></td> <td>'.$row['date_added'].'</td></tr>'); 

回答

2

您用于返回数据的数据结构应该名义上匹配的数据本身。所以,如果你要返回一个具有相似属性的事物列表,你应该使用一个数组;如果你返回的东西更有意义划分成键值对,则返回一个对象。

使用JSON,您可以嵌套这些。所以,例如,你可以有一个对象数组,这是一个非常常见的用例。假设你正在返回一个数据库表:每个记录可以是一个数组元素,它是一个描述这些字段的对象。

[ 
    {"id": 1, "name": "Joe Bloggs"}, 
    {"id": 2, "name": "Jane Doe"}, 
    {"id": 3, "name": "I.P. Freely"} 
] 

鉴于你的对象是在这种情况下均质 - 具有相同的键值结构 - 你可以返回数组的数组,来代替。或者,你可以做的事情真的很一般,并返回描述该表的对象,然后掏空内容数组的数组:

{ 
    "fields": [ 
       {"name": "id", "type": "number"}, 
       {"name": "name", "type": "string"} 
      ], 
    "data": [ 
       [1, "Joe Bloggs"], 
       [2, "Jane Doe"], 
       [3, "I.P. Freely"] 
      ] 
} 

这真的取决于你和数据的最终用途。

0

由于以下几个原因,JSON比AJAX中的XML更受欢迎。我希望这会有所帮助。

JSON and XML comparison

+0

我更想找一个答案,为什么我应该有一个数组中的JSON数据,而不仅仅是发送它?在过去,我总是投入一个阵列,但我更新的知道为什么。现在我发现了Stackoverflow,我有一个地方可以问你最近知道答案的愚蠢事情。 – StenW 2013-03-25 16:24:08