0

この形式を取得するにはどうすればよいですか:

{
"products": [
    {
        "id":            4,
        "link":          "/product.php?id_product=4",
        "quantity":      1,
        "priceByLine":   "$185.00",
        "name":          "Orci hendrer...",
        "price":         "$185.00",
        "idCombination": 0,
        "hasAttributes": false,
        "hasCustomizedDatas": false,

        "customizedDatas":[
                ]


    },  {
        "id":            5,
        "link":          "/product.php?id_product=5",
        "quantity":      1,
        "priceByLine":   "$215.00",
        "name":          "Semper rutru...",
        "price":         "$215.00",
        "idCombination": 0,
        "hasAttributes": false,
        "hasCustomizedDatas": false,

        "customizedDatas":[
                ]


    }],

}

PHP配列として?私はもう試した

$array[] = array('id'=>5, link => 'product.php?id_product=5' ... and so on)

しかし、JSON でエンコードすると機能しません。

4

4 に答える 4

3

次の例のように、配列を適切な方法でネストするだけです。

$arr = array( 'products' => array(
  array('id'=>4, link => 'product.php?id_product=4' ),
  array('id'=>5, link => 'product.php?id_product=5' )
  )
);

編集

コードでは、オブジェクトを初期化するために次のようになります。

$arr = array( 'products' => array() );

その後の各製品は、次のように追加できます (たとえば、データベースの結果を解析するループ内)。

$arr['products'][] = array('id'=>5, link => 'product.php?id_product=5' );
于 2012-05-22T19:44:36.507 に答える
0

これは、の出力です。json_encode($array)ここで、$arrayはネストされています。

于 2012-05-22T20:16:45.083 に答える
0
$data = array(
  'products' => array(
    array('id'=>5, link => 'product.php?id_product=5' ... and so on),
    array('id'=>5, link => 'product.php?id_product=5' ... and so on)
    // repeat once for element.
  )
);
json_encode($data);
于 2012-05-22T19:44:54.137 に答える
0

JSON 形式で AJAX 応答を返す必要がある場合は、ヘッダーを追加する必要があります。

<?php 
header("Content-type: application/json");
echo json_encode($array);

それ以外の場合 - 配列を JS グローバル変数に出力できます。

<?php
echo '<script>';
echo 'var foo = ' . json_encode($array); . ';';
echo '</script>';
于 2015-08-08T10:05:59.917 に答える