2014-07-24 55 views
0

我在我的視圖中有一個JSON模型,我將其傳遞給PHP腳本。該模型看起來像這樣:如何在PHP中處理JSON模型?

{ 
     FirstName: "Paul", 
     SurName: "Krampe" 
} 

我使用JSON.stringify()將它發送到後端。在PHP中,此對象的到達方式如下:

{\\\"FirstName\\\":\\\"Paul\\\",\\\"SurName\\\":\\\"Krampe\\\"} 

我該如何讀取成員並將它們賦值給變量?

我試圖

$firstName = $newUserObject["FirstName"]; 

$firstName = $newUserObject->FirstName; 

,但它們都爲null。

+0

你的字符串在PHP中不再是JSON。它可能被魔法引號或其他一些自動引用系統所損壞。您必須先撤消該引用,然後才能運行它[json_decode()](http://php.net/json_decode)。 –

+0

看起來像PHP有一個模塊:http://php.net/manual/en/book.json.php –

回答

1

使用內置的json_decode功能

$array = json_decode($json); 

然後用

$array['FirstName']; 

Additionnaly訪問這些數據,你將不得不通過調用json_decode函數之前刪除您的JSON輸入額外slashes以下格式功能:

$json = str_replace('\\\\\\', '', $json); 
+0

乾杯,隊友!我認識到,當玩弄你的代碼片段時,$ json已經作爲一個數組傳遞了。然後,這很簡單。 – AntonSack

2

php的函數json_decode()將字符串JSON參數解碼爲一個對象並返回該對象。


還有還有json_encode()函數,它相反:編碼PHP對象,或陣列等進JSON字符串。

0

你可以這樣做

<?php 
$jsonurl = "yourfile.json"; 
$json = file_get_contents($jsonurl,0,null,null); 
$json_output = json_decode($json); 
foreach ($json_output->trends as $trend) 
{ 
echo $trend->name; 
}