json_encode类时丢失私有属性和受保护属性处理方法
Posted 钧一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json_encode类时丢失私有属性和受保护属性处理方法相关的知识,希望对你有一定的参考价值。
<?php header("Content-Type: text/html;charset=utf-8"); class a implements JsonSerializable{ public $b1 = 1; private $b2 = 2; protected $b3 = 3; // 实现的抽象类方法,指定需要被序列化JSON的数据 public function jsonSerialize() { $data = []; foreach ($this as $key=>$val){ $data[$key] = $val; } return $data; } } $json = json_encode(new a); echo $json;
官网文档地址: https://php.net/manual/en/class.jsonserializable.php
<?php
header("Content-Type: text/html;charset=utf-8");
class a implements JsonSerializable{
public $b1 = 1;
private $b2 = 2;
protected $b3 = 3;
// 实现的抽象类方法,指定需要被序列化JSON的数据
public function jsonSerialize() {
$data = [];
foreach ($this as $key=>$val){
$data[$key] = $val;
}
return $data;
}
}
$json = json_encode(new a);
echo $json;
以上是关于json_encode类时丢失私有属性和受保护属性处理方法的主要内容,如果未能解决你的问题,请参考以下文章