0

我有一个 JSON 对象,可以回显以在浏览器中查看,如下所示:

stdClass Object
    (
        [webmaster] => "data"
        [analytics] => "data"
        [facebook] => "data"
        [twitter] => "data"
        [maintenance] => 1
    )

数据是其他值。

我使用以下方法获得上述输出:

    $data = json_decode($domainSpecific);
    print_r($data);

什么是将此 JSON 数据转换为 5 个变量的好方法,最好使用 JSON 值的名称 - $webmaster、$analytics、$facebook、$twitter、$maintenance?

谢谢你

4

4 回答 4

1
$data = json_decode($domainSpecific);
foreach($data as $key=>$value)
{
    $$key=$value;
}
于 2013-01-28T06:53:05.870 回答
1

虽然我不确定你为什么要这样做,而且我也不确定这是否是一种很好的编程方式,但这里有一些我尝试过的东西:

class Test {
    public $webmaster, $analytics, $facebook, $twitter, $manteinance;
}

$test = new Test();
$test->webmaster = 'Trololo';

$object_vars = get_object_vars($test);

foreach ($object_vars as $varname => $value) {
    $$varname = $value;
}

echo $webmaster; //Trololo
于 2013-01-28T06:55:02.233 回答
1

试试这个php extract()

$data = json_decode($domainSpecific, TRUE);

extract($data , EXTR_PREFIX_SAME);

编辑

是的,您需要使用 true 参数执行 json_decode 以作为数组返回

于 2013-01-28T07:01:17.163 回答
1
$data = extract(json_decode($domainSpecific, true));
print_r($data);
于 2013-01-28T07:01:46.870 回答