2017-01-21 12 views
0

私は/customers.jsonを使用してJSON形式で取得する配列を持っています(ここではすべての顧客のリストを取得します)。CakePHPはシリアル化された配列の形式を変更します

$customers = $this->Customer->find('all'); 

JSON形式でデータをシリアル化する方法は次のとおりです。

$this->set(array('customers' => $customers, '_serialize' => array('customers'))); 

ブラウザ内のデータはそうなります

{ 
    "customers": [ 
     { 
      "Customer": { 
       "number": "17", 
       "address": "Frau", 
       "title": "", 
       "company": "", 
       "street": "Altk\u00f6nigstr. 17", 
       "street2": "", 
       "zip": "60385", 
       "city": "Frankfurt am Main", 
       "phone": "", 
       "fax": "", 
       "comment": "", 
       "company_name": "Altmeier, Gerda", 
       "bankaccount_holder": "Altmeier, Gerda", 
       "bankaccount_holder_extra": false 
      } 
     }, 
     { 
      "Customer": { 
       "number": "33", 
       "address": "Herr", 
       "title": "", 
       "company": "", 
       "street": "Thewalt-Str. 22", 
       "street2": "", 
       "zip": "60385", 
       "city": "Frankfurt am Main", 
       "phone": "", 
       "fax": "", 
       "comment": "", 
       "company_name": "Bach, J\u00fcrgen", 
       "bankaccount_holder": "Bach, J\u00fcrgen", 
       "bankaccount_holder_extra": false 
      } 
     }, 
     { 

が、私は、データは次の方法でoutputedする必要があります

[{ 
     "number" : "3", 
     "address" : "", 
     "title" : "", 
     "company" : "", 
     "street" : "", 
     "street2" : "", 
     "zip" : "89073", 
     "city" : "Ulm", 
     "phone" : "", 
     "fax" : "", 
     "comment" : "", 
     "company_name" : "Born, Lionel", 
     "bankaccount_holder" : "Born, Lionel", 
     "bankaccount_holder_extra" : false 
    }, { 
     "number" : "1", 
     "address" : "Herr", 
     "title" : "", 
     "company" : "", 
     "street" : "Marienburgstraße", 
     "street2" : "", 
     "zip" : "64297", 
     "city" : "Darmstadt", 
     "phone" : "", 
     "fax" : "", 
     "comment" : "", 
     "company_name" : "Myer, Walter", 
     "bankaccount_holder" : "Myer, Walter", 
     "bankaccount_holder_extra" : false 
    } 
] 

そこで質問です:どのように私は変更することができます出力形式?

答えて

1

Hashユーティリティクラスは、何が必要です

$customers = Hash::extract($this->Customer->find('all'), '{n}.Customer'); 
/** ***/ 
$this->set('customers' , $customers); 
$this->set('_serialize' , 'customers'); 
+0

は何 – Vladislav

+0

JSON出力のフォーマットを操作する別の能力では変更されませんでしたか? – Vladislav

+0

ホールコントローラアクションを投稿できますか? –

関連する問題