0

これはおそらくばかげた質問ですが、私は長い間プログラミングをしていないので、なぜJsonデータを配列で送信する必要があるのでしょうか。私が尋ねている理由は、Ajaxコールバックを使用して単純なjQueryフォームを構築しているためです(単純なものにjsonを使用する必要はありませんが、その使用方法を学びたいと思います)。スクリプトは、ID番号をphp関数に送信します。この関数は、ID番号に応じて、1つ以上のフォームを返すことができます。では、なぜ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 に答える