我知道如何对对象进行JSON编码和解码。那不是什么大问题。但是,我遇到了一种情况,我需要将$this
保存为JSON字符串,然后再从该JSON字符串中填充$this
的属性。
换句话说,我不想使用JSON字符串中的数据获取对象的新实例,我想将其应用于现有对象。
我该怎么做?
答案 0 :(得分:1)
您可以使用get_object_vars()
http://php.net/manual/en/function.get-object-vars.php
class MyClass
{
function populateFromJSON($data)
{
$o = json_decode($data);
$attributes = get_object_vars($o);
if (is_array($attributes)) {
foreach ($attributes as $name => $val) {
$this->$name = $val;
}
}
}
}