2016-12-21 78 views
-2

任何人都可以請幫我理清json_decode問題,這裏是正在罰款我的JSON字符串 -PHP json_decode不工作的大串

{"323":"723","317":"704","316": {"date":"28\/12\/2016"},"314":"701","315": {"area":"sdfgdfg"}} 

但如果我再添加一個鍵值對,然後json_decode功能不起作用。

{"336":"761","323":"723","317":"704","316": {"date":"28\/12\/2016"},"314":"701","315": {"area":"test"}} 

第二根弦不工作,但在我的本地系統兩個字符串工作正常,什麼是我需要檢查PHP的配置參數?我有增加內存限制,最大執行時間最大發布大小我還需要檢查什麼,請幫助。

更新這裏是我的代碼 -

$arrProducts = array(
     array(
      "product_id" => $_REQUEST['product_id'], 
      "qty" => $_REQUEST['quantity'], 
      "options" => json_decode($_REQUEST['product_options'], true), 
      "sku" => $_REQUEST['sku'], 
      "store_id" => 1 
     ) 
    ); 
print_r($arrProducts); 

它打印了第二根弦空數組。

我已經檢查錯誤日誌,它表明 - PHP的警告:未知:274個字節的POST內容長度超過了在未知的256字節線0

+0

請問您可以提供相關代碼嗎?我猜它與json_decode本身無關。 –

+0

使用['json_last_error_msg()'](http://php.net/manual/en/function.json-last-error-msg.php)檢查錯誤 – simon

+0

您的第二個字符串解碼沒有任何問題:https:// eval.in/701965 – jeroen

回答

1

這裏的問題是誤導性的, 的極限你所面臨的問題不在於json_decode未能寧後最大規模解碼是超過

您可能會發現類似的東西在你的php.ini文件中的以下

; Maximum size of POST data that PHP will accept. 
; Its value may be 0 to disable the limit. It is ignored if POST data reading 
; is disabled through enable_post_data_reading. 
; http://php.net/post-max-size 
post_max_size = 256 

更改上面

post_max_size = 8M 

即8M作爲後大小限制

如果你使用的是Apache,你可能需要改變的.htaccess以及。 以下是參考#post_max_size

+0

其實我無法調試它,謝謝你,現在運轉。 –