0

stdClass之后访问对象 ()时遇到问题json_decode

我不知道为什么-作为 th 键的一部分存在问题。这是我的代码:

$a = array('body'=>array('short-description'=>'its short description','detailed-description'=>'its detail descriptionb'),'title'=>'its a title');
$b = json_encode($a);
$c = json_decode($b);
var_dump($c->body->short-description);

问题是我无法获得 short-description 的值,因为密钥有-.

4

3 回答 3

2

像这样试试

var_dump($c->body->{"short-description"});

您需要将其括在大括号中。

于 2013-04-26T09:07:20.140 回答
1

尝试;

$c = json_decode($b, true);

echo $c['body']['short']['short-description'];

布尔值将其True转换为多维数组,并允许您以这种方式访问​​ json。

于 2013-04-26T09:09:06.147 回答
0

只需用括号括起来,例如:

var_dump($c->body->{'short-description'});
于 2013-04-26T09:10:52.013 回答