JSON

对象如何转成json

字号+ 作者:H5之家 来源:H5之家 2016-03-11 11:51 我要评论( )

对象怎么转成json现在有一个对象 user Object ( [User_id:private] => 1 [Account:private] => abc [Password:private,PHP编程技术

 

  • 对象怎么转成json
    现在有一个对象
    user Object ( [User_id:private] => 1 [Account:private] => abc [Password:private] => abc [User_name:private] => zhangsan [Creat_time:private] => 2012-11-12 14:56:32 )
    我要打包成json格式 (实际情况是要传到另个php端[webservice])
    希望实现的具体流程:
    php端1 -> 对象 -> json字符串 -> php端2 ->json字符串 -> 变回对象或者数组 (最好是数组)
    用 json_decode 出来的总是 stdClass Object ( ) 不知道什么意思 求交流指点!
    ------最佳解决方案--------------------
    因为你想还原成 user 对象,所以才让你用序列化函数

    既然你不需要还原成php对象,那就用json好了
    $p = new user;
    $s = json_encode($p);

    $o = json_decode($s); //还原成对象
    $a = json_decode($s, true); //还原成数组


    ------其他解决方案--------------------
    json_decode 出来的是OBJECT对象,没错。
    如果你要decode成USER对象,可能就需要用到反射啦。。。

    ------其他解决方案--------------------
    json 是与js交互用的数据格式,不会携带php才有的信息。所以不可能原样还原

    你应该使用php的序列化函数
    class T {
    public $var = 123;
    }
    $p = new T;
    $s = serialize($p);
    $x = unserialize($s);
    print_r($x);
    T Object
    (
    [var] => 123
    )


    ------其他解决方案--------------------
    感谢版主的回复!对象序列化之后是这样的
    O:4:"user":2:{s:13:"userUser_id";s:1:"1";s:13:"userAccount";s:3:"zzz";}
    还不是json格式。莫非要截取字符串? 最好不要啦 - - 以后数据量大了 不知道有没隐患
    直接序列化就传的话 也是字符串。但是做webservice要考虑到跨平台 比如传到java .net甚至其他的 所以最好还是能够传个json吧
    简单点说,我的需求就是希望能把一个对象转成json 就最好了
    user Object ( [User_id:private] => 1 [Account:private] => zzz )
    成一个json格式

    ------其他解决方案--------------------
    先谢谢您的关注!
    现在如果将一个简单的对象直接json_encode() 输出的是一个空的对象 {}
    还是达不到要求!
    思路清晰了很多 继续研究!
    ------其他解决方案--------------------
    找了解决方案了。
    PHP能够将一个对象强转成数组 $user = json_encode((array)$user);
    这样就可以打包成json了
    对象 : user Object ( [User_id:private] => 1 [Account:private] => zzz )
    转成数组后json_encode() : {"\u0000user\u0000User_id":1,"\u0000user\u0000Account":"zzz"}
    接收到json用json_decode()转回数组 : Array ( [userUser_id] => 1 [userAccount] => zzz )
    再次感谢xuzuning版主的帮助,谢谢!
  •  

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JS对象与JSON格式数据相互转换

    JS对象与JSON格式数据相互转换

    2016-03-07 18:00

  • DockOne技术分享(十二):新浪是如何分析处理32亿条实时日志的

    DockOne技术分享(十二):新浪是如何分析处理32亿条实时日志的

    2016-02-05 19:16

  • springmvc 接收json对象

    springmvc 接收json对象

    2016-02-05 16:01

  • js array and json 转换

    js array and json 转换

    2016-01-24 19:49

网友点评