-2

それで、私は自分のWebサイトで、オブジェクトのような単一のjson配列に多くの情報をパックする必要がある段階に到達しました。これを行うには、配列情報のリストを特定のキー名でパックし、次に別のキー名でパックする必要があります。別のキー名でのデータのセット。

したがって、たとえば:

$array = array();

foreach(action goes here)
{
    $array['data1'] = array('information' => data, 'more_information' => more_data)
}

$array['data2'] = array("more data");

これは基本的に私がやろうとしていることを示しています。これは部分的に行うことができますが、新しいデータセットのキーに名前を付けると、foreachループに追加するのではなく、各データが置き換えられるだけです。

さて、この部分がそれほど混乱していなければ、私はこれについていくらかの助けが必要です。次に、これに加えて、これが整理されたら、jQuery応答でデータを使用できるようにする必要があるため、json.data1 [i++]。data、のようなデータの各セットにアクセスできる必要があります。これは理想的には「more_information」を返します。

4

1 に答える 1

0

そのループには増分数が必要であり、結果をjsonオブジェクトとして利用できるようにします...

$array = array();
$i = 0;

foreach(action goes here)
{
    $array['data'.$i] = array('information' => data, 'more_information' => more_data)
    $i++;
}

$array['data2'] = array("more data"); 

$data = json_encode($array);

次に、phpで次のようにjs変数を設定します。

<script type="text/javascript">
var data = <?php echo $data; ?>;
</script>

その後、jsで簡単にアクセスできます。

alert(data.data1.information);

私があなたの質問を正しく理解しているなら、あなたはこのオブジェクトを何かへの応答として受け取ることを期待していますか?jQuery .ajax呼び出しのように?

http://api.jquery.com/jQuery.ajax/

このリンクは、それをかなり明確に使用する方法を示しています。必ずdataType = "json"データ処理を指定してから、成功呼び出しに配置する必要があります。

$.ajax({
    url: 'some url string',
    type: "GET",
    dataType: "json",
    success: function(data)
    {
        $.each(data, function(i, v){
            console.log(data[i]);
        });
    },
    error: function()
    {
        //error handling
    }
});

これは比較的テストされていませんが、コンセプトは私が伝えようとしているものです。基本的に、phpとjson_encodeで多次元配列を作成します。これらの方法のいずれかを使用すると、jsonを解析できます。

于 2012-10-02T04:18:45.177 に答える