2015-06-03 144 views
-3

我有問題。如何僅從json數據獲取內容。從PHP獲取json數據的內容

My JSON Data: 

array(
(int) 0 => '{"html":"Lorem Ipsum \u2013 Lorem Ipsum \u2013 Lorem Ipsum - Lorem Ipsum \u2013 Lorem Ipsum \u2013 Lorem Ipsum \u2013 Lorem Ipsum"}', 
(int) 1 => '{"text":"Lorem Ipsum"}', 
(int) 2 => '{"text":"01 June-30 September"}', 
(int) 3 => '{"text":"7 nights \/ 8 days"}', 
(int) 4 => '{"text":"Lorem Ipsum"}' 
); 


我想要得到的HTML和文本內容僅

Lorem Ipsum 
Lorem Ipsum 
01 June-30 September 

我試圖用json_decode

我的代碼:

foreach($array as $i) { 
     $a = json_decode($i); 
     echo $a; 
} 

任何人幫助我嗎?

+0

使用['json_decode'](http://php.net/manual/en/function.json-decode.php)。它會返回一個對象。你可以從中得到你所需要的。 – Andrew

+0

是的。我試圖使用'json_decode'。 ($ content as $ i){ $ a = json_decode($ i); echo $ a; }' _Error message:class stdClass的對象無法轉換爲string_ – user1999

+1

使用...'echo $ a-> text;' – DanFromGermany

回答

0

假設您的數據存儲在名爲$a的變量中。

echo json_decode($a[0], true)['html'];

將讓你的結果對數組的第一個索引。對於其他指標,您可以使用text而不是html

注意我已經通過truejson_decode第二個參數,如果你寧願把解碼後的數據作爲一個對象,你可以離開這樣的說法了,在這種情況下,代碼將成爲

echo json_decode($a[0])->html;

+0

語法'functionWhichReturnsArray()[key]'僅在最新的PHP版本中可用。 – DanFromGermany

+0

自2012年3月發佈[http://php.net/releases/#5.4.0]以來,已經可以使用它了。 – quickshiftin

+0

根據[版本5.3](2015年1月),所有PHP安裝的43% w3techs.com](http://w3techs.com/technologies/details/pl-php/5/all)。在我看來,最普及的系統是Ubuntu 12 LTS,它具有穩定的PHP 5.3。就個人而言,我使用5.6,但SO上的答案應該專注於最常用的東西,一個很好的答案包括當前和較舊的代碼。 – DanFromGermany