1

サード パーティのサイトからデータを取得するサイトに取り組んでいます。私の PHP はデータを取得し、非常に優れた JSON オブジェクトで応答します。次に、 $.each を使用してオブジェクトを反復処理し、データを並べ替えます。これはうまく機能します。問題は、メイン プロパティをプルする方法がわからないことです。

JSON 応答の例:

{
    "1234": {
        "all_sales": {"11/12/2012":"1211.33","11/13/2012":"2012.45"},
        "sales_total":"323.78",
        "store_number":"1234",
    },
     "5678": {
        "all_sales": {"11/12/2012":"1211.33","11/13/2012":"2012.45"},
        "sales_total":"323.78",
        "store_number":"5678",
    },

}

1234と5678は店舗番号です。私が望むのは、store_number プロパティを必要とせず、それが何であるかを知ることです。PHP では、次のようになります。

for ($data as $store_number => $store_data){
    //do whatever
}

私はあらゆる種類の理由でこれを行っていますが、主に単純に data.1234 を呼び出すか、トップ 10 などの売上の配列を作成できるようにするためです。

4

4 に答える 4

3

$.eachコールバック関数の最初の引数を使用したいと思います。

var a = { "1234": { ... }, "5678": { ... } };

$.each(a, function(main, val) {
    console.log(main); // prints "1234" and "5678"
});
于 2012-12-07T06:09:55.577 に答える
1

私の理解が正しければ、値「1234」、「5678」などの配列が必要です。

myArray=$.map(myJSON,function(value,key){return key;});

[編集] よく考えてみると、これはあなたが求めているものに近いかもしれません:

myArray=$.map(myJSON,function(value,key){
// do whatever
});

@Ian がコメントで述べたように、すべての処理を 1 つのループ (私の例のように $.each または $.map のいずれか) にグループ化することをお勧めします。

于 2012-12-07T06:20:09.733 に答える
0
for (var key in object) {
    console.log(key);
}
于 2012-12-07T06:14:15.280 に答える