JSON.parse解析json字符串必须注意的那些事

博客讲述了在平台运营中遇到的一个bug,即某个客户反馈商品编辑时出现多规格乱码。问题源于JSON解析时未处理制表符( ),导致特定客户受到影响。为避免类似情况,建议在前端代码中预处理JSON字符串,替换特殊字符。提供的代码示例展示了如何处理JSON字符串,确保解析正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

产景:突然大早上的有个客户说商品的编辑多规格乱码了,奇怪的是这个只是这个客户而已,其他客户正常,因为是做平台的,于是发现了个一直遗留的bug问题。

 查看表数据发现;存在tab键。而前端在json解析的时候没有做处理;客户是啥操作都有的,不可能是让客户自检查,尽量代码做处理才是合适的。

[
    {
        "attr_list": [
            {
                "attr_id": 65724,
                "attr_name": "燕窝(白燕盏)30g(6片)标准盏 礼盒装"
            }
        ],
        "num": 0,
        "price": 998,
        "no": "071896",
        "bar_code": "",
        "pic": "http://ddwimg.lihuobao.cn/web/uploads/image/store_57/679cf75507e9ea4d5ef279835d5844b964d13ada.jpg"
    },
    {
        "attr_list": [
            {
                "attr_id": 65769,
                "attr_name": "燕窝(白燕盏)\t30g(6片)/疏盏\t礼盒装"
            }
        ],
        "num": 0,
        "price": 980,
        "no": "071894",
        "bar_code": "",
        "pic": "http://ddwimg.lihuobao.cn/web/uploads/image/store_57/781c79b3dfe3731caf9179447b308dfbee44ee88.jpg"
    }
]

因此记录一下,json解析应该提前做一下处理!

var str= "json字符串";
str=str.replace(/\\/g,"\\\\");
str=str.replace(/\n/g,"\\n");
str=str.replace(/\r/g,"\\r");
str=str.replace(/\t/g,"\\t");
str=str.replace(/("")+/g,"\"\"");
str=str.replace(/\'/g,"'");
str=str.replace(/ /g," ");
str=str.replace(/</g,"&lt;");
str=str.replace(/>/g,"&gt;");
console.log(JSON.parse(str))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值