首页 / JSON / 对象转换成JSON字符串
对象转换成JSON字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了对象转换成JSON字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2131字,纯文字阅读大概需要4分钟。
内容图文
这篇文章主要介绍了关于对象转换成JSON字符串,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下定义一个Student类:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 }
此时new一个对象并直接echo: 1 $person1 = new Student('jack', 20); 2 echo $person1;
结果并没有按照我们预想的那样打印出该对象而是报了一个致命错误:
意为Student类实例化出来的对象不能转化成字符串,此处可以得到一个信息即:echo 后面必须是字符串,
否则会将其自动转化为字符串,那么如何讲一个对象转换为一个字符串呢?
先介绍一个魔术方法:__tostring(),这个方法用于一个类被当成字符串时应怎样回应。例如 echo $obj;
应该显示些什么。此方法必须返回一个字符串,否则将发出一条 E_RECOVERABLE_ERROR
级别的致命错误。
将这个魔术方法添加到Student类中:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 function __tostring() { 9 return json_encode($this, JSON_FORCE_OBJECT); 10 } 11 }
json_encode(value, options)方法可以将一个对象转换为JSON字符串,此方法接受两个参数,
第一个参数:value
待编码的 value ,除了resource 类型之外,可以为任何数据类型
该函数只能接受 UTF-8 编码的数据
第二个参数:options
由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.
返回值:编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE 。
note:与json_encode方法相对的有json_decode方法,此方法可以将一个JSON格式的字符串转化为PHP变量,此方法接受两个参数
第一个参数:json字符串
第二个参数:true/false,为true时表示将字符串准换位数组,为false时则表示转换为对象,默认为false
返回值:对象或数组(第二个参数为为true时)
此时在浏览器打开可以看到转换成功:
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php redis服务编译安装的方法
php源码建库建表-配置文件-错误日志的方法
以上就是对象转换成JSON字符串的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的对象转换成JSON字符串全部内容,希望文章能够帮你解决对象转换成JSON字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。