簡體   English   中英

Json對象到PHP數組-不轉換

[英]Json Object to PHP array - not converting

我試圖獲取存儲在textarea的json對象,並將其轉換為php數組。 我將textarea的值分配給$data = $_POST['data']這樣的變量。 當我提交文本的值時,我使用json_decode($data, true)從JSON對象轉換為php數組。 但是什么也沒發生。 似乎沒有分配任何東西。 如何實現以上目標?

編輯:我已經添加了引號並在下面提出了建議,但不起作用: 演示

PHP

if(isset($_POST['submit'])) {
$data = $_POST['data'];
$personArray = json_decode($data, true);
print_r($personArray);
}

HTML

<textarea name="data">[{
    "firstName": "Jenny",
    "lastName": "LaRusso",
    "phone": "(555) 121-2121",
    "alt_phone": "(555) 123-4567",
    "main1": false,
    "main2": true    
}, {
    "firstName": "Sensei",
    "lastName": "Miyagi",
    "phone": "(555) 444-2222",
    "alt_phone": "(555) 999-1212",
    "main1": true,
    "main2": false
}]</textarea>

我認為在正確的JSON中,鍵(如firstName )也需要用引號引起來。

將您的PHP代碼更改為

if(isset($_POST['data'])) {
$data = $_POST['data'];
$data = stripslashes($data); //Stripslashes removes all backslashes :)
$personArray = json_decode($data, true);
print_r($personArray);
}

您的JSON對象應該在文本區域內是這種方式

[{
"firstName": "Jenny",
"lastName": "LaRusso",
"phone": "(555) 121-2121",
"alt_phone": "(555) 123-4567",
"main1": false,
"main2": true    
}, {
"firstName": "Sensei",
"lastName": "Miyagi",
"phone": "(555) 444-2222",
"alt_phone": "(555) 999-1212",
"main1": true,
"main2": false
}]

快樂編碼:)

您的PHP代碼似乎沒有什么錯。 為了進行調試,在設置$ personArray之后,嘗試添加以下兩行:

var_dump($data);
var_dump($personArray);

這應該導致您遇到麻煩的原因。

在這里,您可以看到每種返回類型的含義(如果$ returnArray等於false): http ://php.net/json_decode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM