2011-07-29 76 views
1

我有以下结构,并且您可以看到json中没有返回“methods”数据。为什么? 这是一个UML建模程序。Json_encode缺失数据

object(UClass)[1] 
    public 'classname' => string 'Class_Temp_1311967657' (length=21) 
    public 'classtype' => string 'public' (length=6) 
    public 'methods' => 
    array 
     0 => 
     object(UFunction)[2] 
      private 'name' => string 'Bill' (length=4) 
      private 'type' => null 
      private 'attributes' => null 
      private 'returntype' => null 
     1 => 
     object(UFunction)[3] 
      private 'name' => string 'Function_Temp_1311967657' (length=24) 
      private 'type' => null 
      private 'attributes' => null 
      private 'returntype' => null 
    public 'attributes' => 
    array 
     'person' => 
     array 
      'type' => string 'string' (length=6) 
      'visability' => string 'public' (length=6) 
     'id' => 
     array 
      'type' => string 'int' (length=3) 
      'visability' => string 'public' (length=6) 
    private 'interfacesUsed' => 
    array 
     empty 

并且json看起来像这样

{"classname":"Class_Temp_1311967657","classtype":"public","methods":[{},{}],"attributes":{"person":{"type":"string","visability":"public"},"id":{"type":"int","visability":"public"}}} 

回答

4

因为私有成员不被json_encode序列化。

+1

也许你可以创建一个公共方法“toJson()”,也可以序列化私有成员? –

+0

啊。谢谢你错过了。 – mike628