PHP传递给js的JSON数据无法反序列化

简介: PHP传递给js的JSON数据无法反序列化

如果正常json序列化后无法反序列化,就进行base64编码

php编码

$data = array(
    "name" =>  "王建国",
    "age" => 23
);


echo json_encode($data);
// {"name":"\u738b\u5efa\u56fd","age":23}

echo base64_encode(json_encode($data));
// eyJuYW1lIjoiXHU3MzhiXHU1ZWZhXHU1NmZkIiwiYWdlIjoyM30=

js解码

let str = '{"name":"\u738b\u5efa\u56fd","age":23}';


// 正常情况下可以反序列化
console.log(JSON.parse(str));
// { name: '王建国', age: 23 }


// 可能有特殊字符不能解析,可以使用base64解码后再进行json解析
let enstr = "eyJuYW1lIjoiXHU3MzhiXHU1ZWZhXHU1NmZkIiwiYWdlIjoyM30=";

console.log(JSON.parse(atob(enstr)));
// {name: "王建国", age: 23}
            </div>
目录
相关文章
|
IDE Java Linux
Seata常见问题之重新打包以单独用jar来部署如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
539 1
|
自然语言处理 并行计算 PyTorch
GitHub 开源神器 Bark模型,让文本转语音更简单!
GitHub 开源神器 Bark模型,让文本转语音更简单!
574 0
|
存储 数据可视化 数据管理
在ArcGIS Pro中使用栅格函数
在ArcGIS Pro中使用栅格函数
635 1
|
容器
文本溢出省略号text-overflow: ellipsis显示无效?这一属性到底该怎么用?
文本溢出省略号text-overflow: ellipsis显示无效?这一属性到底该怎么用?
534 0
|
弹性计算 应用服务中间件 Apache
2核4g云服务器支持多少人同时在线?2核4G服务器并发数计算
阿里云服务器2核4g并发数是多少?支持多少人同时在线?
1381 0
2核4g云服务器支持多少人同时在线?2核4G服务器并发数计算
|
供应链 区块链 数据安全/隐私保护
探索区块链技术在金融领域的应用与前景分析
本文将深入探讨区块链技术在金融领域的具体应用场景,分析其优势与挑战,并展望未来发展趋势。通过案例分析和技术解析,揭示区块链技术在金融行业中的革新意义及前景。
2302 15
Element UI 数字输入框的实现
Element UI 数字输入框的实现
602 0
|
网络安全 开发工具 git
GitHub
一、建立个人仓库 二、配置SSH密钥 三、克隆仓库代码 四、推送代码到个人仓库 五、代码拉取
965 1
|
机器学习/深度学习 监控 负载均衡
金融风控系统的演进与升级:从第一代到第四代(1)
金融风控系统的演进与升级:从第一代到第四代
1234 0
|
程序员 Android开发
Eclipse 注释模板配置以及设置护眼模式--超级超级详细
Eclipse 注释模板配置以及设置护眼模式--超级超级详细