簡體   English   中英

無法解析從PHP返回的JSON

[英]Cannot parse JSON returned from PHP

在PHP中,我有一個JSON字符串數組,我需要通過AJAX調用返回到JavaScript。 如果數組中只有一個元素,則可以在響應上調用JSON.parse()。

前(PHP):

$data = [];
array_push($data, '{"Date" : "11/11/2015",  "Number" : "123", "Status" : "Order Received"}');
echo json_encode($data);

前(JavaScript):

data = JSON.parse(data);

產生以下內容,我可以對其進行進一步處理和顯示:

["{"Date" : "11/11/2015",  "Number" : "123", "Status" : "Order Received"}"]

但是,如果我將兩個Elements推入數組:

$data = [];
array_push($data, '{"Date" : "11/11/2015",  "Number" : "123", "Status" : "Order Received"}');
array_push($data, '{"Date" : "12/12/2015",  "Number" : "456", "Status" : "Processing"}');
echo json_encode($data);

我在響應中得到以下內容:

["{"Date" : "11/11/2015",  "Number" : "123", "Status" : "Order Received"}", 
 "{"Date" : "12/12/2015",  "Number" : "456", "Status" : "Processing"}"]

當我嘗試使用JSON.parse()時,我用逗號將兩個元素分隔開來引起了雙引號。

}", "{

我曾嘗試通過在發送回響應之前對數組/字符串進行編碼/解碼來解決PHP中的此問題,但是沒有運氣。 我還嘗試通過調用JSON.stringify()來嘗試重新格式化Response,以解決JS中的問題,但也沒有運氣。

想知道是否有人知道要使用的正確編碼/解碼/解析/字符串化模式。

感謝您對此的任何投入!

您必須正確填充array ,然后才能使用PHP轉換為JSON

$data = array();
$data = [];
array_push($data, 
           array( "Date" => "11/11/2015",  
                  "Number" => "123", 
                  "Status" => "Order Received"
                ));

echo json_encode($data);

這將為您提供以下輸出:

[{"Date":"11\/11\/2015","Number":"123","Status":"Order Received"}]

暫無
暫無

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

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