2013-04-26 106 views
0

我在訪問json_decode之後的對象(stdClass)時遇到問題。重新解碼解碼的JSON的值

我不知道爲什麼-作爲關鍵的一部分存在問題。這裏是我的代碼:

$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); 

的問題是由於鑰匙有-我不能讓短描述的價值。

+0

這只是無效的語法。你也不能用'-'來指定變量名。 '$ foo-bar = 42;'無效。 – 2013-04-26 09:11:25

回答

2

嘗試這樣

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

你需要把它們放在括號中。

1

試試;

$c = json_decode($b, true); 

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

True布爾將其轉換爲一個多維數組,並允許您訪問JSON的方式。

0

只是包裝在括號中,如:

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