搜尋

首頁  >  問答  >  主體

json_encode在有效的JSON字串上傳回null

<p>我正在使用PHP的json_decode函數來解析由JavaScript的JSON.stringify創建的JSON字串;</p><p>JSON似乎是有效的:</p><p>JSON;p>JSON;JSON似乎是有效的:</p><p>JSON;p>JSON;字串:</p><p><br /></p> <pre class="brush:php;toolbar:false;">"{"m_user_name":"test","m_user_phone":" 60 12-384 7961","m_user_city":"Kuala Lumpur","m_user_linkedin ":"example@gmail.com","m_user_g_plus":"example@gmail.com"}"</pre> <p>JSON最後的錯誤訊息:"語法錯誤"</p><p>好的,如果我直接將字串貼到json_decode中,它就可以工作。我正在透過一個form_data物件透過ajax發送字串,然後嘗試解碼post變數。 </p><p>以下是ajax請求的代碼:</p><p><br /></p> <pre class="brush:php;toolbar:false;">$.ajax({ type: "POST", url: ajaxurl, data: formdata, cache: false, contentType: false, processData: false, beforeSend: function () { toggle_loading_spinner(); }, success: function (data) { console.log(data); toggle_loading_spinner(); }, });</pre> <p>我嘗試使用preg_replace('/[x00-x1Fx80-xFF]/', '', $JSON_STRING)來刪除不需要的符號,但是出現了相同的錯誤。 </p>
P粉176980522P粉176980522528 天前550

全部回覆(1)我來回復

  • P粉814160988

    P粉8141609882023-07-29 14:53:06

    json_decode()函數僅適用於以UTF-8編碼的字串。輸入可能是不同的編碼。在刪除不需要的字元後,嘗試將編碼轉換為UTF-8。以下是如何進行轉換的參考資料:

    https://www.php.net/manual/en/function.mb-convert-encoding.php

    #

    回覆
    0
  • 取消回覆