2015-06-04 64 views
1

我有這樣的對象使對象的數組從json_encode

stdClass Object (
    [reportDate] => 2014-02-02 
    [shops] => Array (
    [24] => stdClass Object (
     [shopid] => 24 
     [cashiers] => Array (
     [1] => stdClass Object (
      [cashierid] => 1 
      [products] => Array (
      [moneyIn] => 46 
      [moneyOut] => 215.14 
     ) 
     ) 
    ) 
    ) 
) 
) 

,當我讓json_encode就可以了,我得到這個JSON字符串

{ 
     "reportDate":"2014-02-02", 
     "shops":{ 
     "24":{ 
      "shopid":24, 
      "cashiers":{ 
      "1":{ 
       "cashierid":1, 
       "products":{ 
       "moneyIn":"46", 
       "moneyOut":"215.14" 
       } 
      } 
      } 
     } 
     } 
    } 

這個結果不是我想要的。我想要數組對象。

因此,不是這個「shops":{我想這"shops":[ 取而代之的是"cashiers":{我想這"cashiers":[等等。

你在哪裏都沒有在我的stdClass的一個數組我想數組,那裏是stdClass的我想對象。

所以我在做什麼錯在構建我最初stdClass的對象。

回答

1

關聯數組結果的對象,如您所見,爲了產生一個JSON數組,你需要陣列組成的陣列。

下面是一個例子

$shops = [['shopid'=>24, 'cashiers'=>[['cashierId'=>1]]]]; 

主要生產

[ 
    { 
     "shopid":24, 
     "cashiers":[{"cashierId":1}] 
    } 
] 

而這裏的live runnable demo

0

你不能有關聯數組的JSON。在json_encode之後,關聯數組將始終成爲JSON中的一個對象。