json_encode在有效的JSON字符串上返回null
P粉176980522
P粉176980522 2023-07-28 19:35:06
[PHP讨论组]

我正在使用PHP的json_decode函数来解析由JavaScript的JSON.stringify创建的JSON字符串;

JSON似乎是有效的:

JSON字符串:


"{"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"}"

JSON最后的错误消息:"语法错误"

好的,如果我直接将字符串粘贴到json_decode中,它就可以工作。我正在通过一个form_data对象通过ajax发送字符串,然后尝试解码post变量。

以下是ajax请求的代码:


$.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();
  },
});

我尝试使用preg_replace('/[x00-x1Fx80-xFF]/', '', $JSON_STRING)来删除不需要的符号,但是出现了相同的错误。

P粉176980522
P粉176980522

全部回复(1)
P粉814160988

json_decode()函数仅适用于以UTF-8编码的字符串。输入可能是不同的编码。在删除不需要的字符后,尝试将编码转换为UTF-8。以下是如何进行转换的参考资料:

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号