Until this gets fixed instead of declaring the properties public you can use a encode method like this: <? class c1 { protected $p1 = 'aa'; public $p2 = 'bb'; public function enc() { //print $this->p1; return json_encode(get_object_vars($this));//this will encode the protected var } } $o = new c1; print $o->enc(); ?>
On Thu, Oct 9, 2008 at 3:54 PM, Jarismar Chaves da Silva < [EMAIL PROTECTED]> wrote: > Hi internals, > > Does anyone knows why json_encode ignores protected/public class members ? > I've searching about it on documentation an mailing lists but found > nothing but workarounds. > Until now I'm forced to change my classes to use public members when I > need to send a PHP object on e.g. AJAX responses. It would be nice if > json_encode also send those attributes or at least have a parameter to > whether send non-public attributes or not. > > Thanks in advance. > Jaris. > > -- > > *Jarismar Chaves da Silva, M.Sc.* > > *ADP**Labs** Brazil** > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > http://www.adp.com > >