0

サーバーから受信するJSONデータの形式を変更する必要があります。JSONのプロパティを理解するのに苦労していて、非常に気が遠くなるように見えます。任意のアドバイス/解決策をいただければ幸いです。

受信時のデータは次のようになります。

[
  {
    "date": "2006-07-01T00:00:00.000Z",
    "date_processed": "2006-06-30T17:45:25.217Z",
    "amount": 98,
    "payment_type": "Debit Order",
    "status": "Collected"
  },
  {
    "date": "2006-08-01T00:00:00.000Z",
    "date_processed": "2006-07-28T17:20:54.000Z",
    "amount": 98,
    "payment_type": "Debit Order",
    "status": "Collected"
  }
]

私はこれが次のように見える必要があります:

 "page":1,
 "total":2,
 "rows":[
  {
    "cell": {
     "date": "2006-07-01T00:00:00.000Z",
     "date_processed": "2006-06-30T17:45:25.217Z",
     "amount": 98,
     "payment_type": "Debit Order",
     "status": "Collected"
     }
  },
  {
    "cell": {
     "date": "2006-07-01T00:00:00.000Z",
     "date_processed": "2006-06-30T17:45:25.217Z",
     "amount": 98,
     "payment_type": "Debit Order",
     "status": "Collected"
     }
  }
  ]
4

2 に答える 2

0

あなたは簡単に行うことができます:

 var oldJSON = [{}], //your JSON from the server

 newJSON = {
     "page":1,
     "total":oldJSON.length,
     "rows":[]
 };

 for (var i = 0, dataLen = newJSON.total; i < dataLen; i = i + 1) {
      newJSON.rows[i].cell = oldJSON[i]
 }
于 2013-03-25T09:13:29.470 に答える
0
    var targetObject = {page: 1, total: 2, rows: []}
    yourJSON.each(function (item) {
       targetObject.rows.push({cell: item});
    });
于 2013-03-25T09:14:48.100 に答える