0

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

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

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

2 回答 2

2

您用于返回数据的数据结构在理论上应该与数据本身的数据结构相匹配。因此,如果要返回具有相似属性的事物列表,则应使用数组;如果您要返回的内容更适合描述为键值对,请返回一个对象。

使用 JSON,您可以嵌套这些。因此,例如,您可以拥有一个对象数组,这是一个非常常见的用例。假设您要返回一个 DB 表:每条记录都可以是一个数组元素,它是一个描述字段的对象。

[
  {"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"]
            ]
}

这完全取决于您和数据的最终用途。

于 2013-03-25T16:22:22.937 回答
0

由于几个原因,在 AJAX 中 JSON 优于 XML。我希望这会有所帮助。

JSON 和 XML 比较

于 2013-03-25T16:20:57.843 回答