处理有效的json时,只要不使用extract(),就不需要做任何特殊的事情来在php中使用结果.
简而言之,让json_decode像Jay Bhatt建议的那样返回一个数组看起来更清晰,但你也可以自由地使用普通对象作为返回(这是stdclass的一个实例).
返回对象的属性几乎可以是任何东西.您只需要将属性名称用作php-string而不是硬编码的文字.
$obj->{'a sentence with spaces and umlauts äüö is valid here'}
general->{'round-corner'}); var_dump($obj->general->$keyName); var_dump($obj->general->{'background-color äü??$%§'});
结果
处理有效的json时,只要不使用extract(),就不需要做任何特殊的事情来在php中使用结果.
简而言之,让json_decode像Jay Bhatt建议的那样返回一个数组看起来更清晰,但你也可以自由地使用普通对象作为返回(这是stdclass的一个实例).
返回对象的属性几乎可以是任何东西.您只需要将属性名称用作php-string而不是硬编码的文字.
$obj->{'a sentence with spaces and umlauts äüö is valid here'}
<?php $json = <<<JSON {"general":{ "round-corner":"0", "border-stroke":"2", "background-color äü??$%§":"#ffffff" } } JSON; $obj = json_decode($json); $keyName = "round-corner"; var_dump($obj->general->{'round-corner'}); var_dump($obj->general->$keyName); var_dump($obj->general->{'background-color äü??$%§'});
结果
您可以使用这样的数组格式.加密的钥匙将起作用.
<?php $json = '{"general":{ "round-corner":"0", "border-stroke":"2", "background-color":"#ffffff" } }'; $array = json_decode($json, true); echo $array['general']['border-stroke']; // prints 2 ?>
这是一个演示