json字符串转json对象时包含“\”,使用JSON.parse报错情况

javascript中的json中包含转义字符\斜杠

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//---------------------------
//参考网页https://www.cnblogs.com/jun-tao/p/3707663.html
/*
大家可以试一下写1个\斜杠,或者写2个\斜杠,或者写3个\斜杠,或者写,4个\斜杠,再分
别使用JSON.parse()函数解析一下,效果有很大的不同,有的会报错,有的能正确解析
*/
var jsonStr27 = '{"sex":"男","info":"我\\是超人"}'; // 2个\斜杠
var jsonObj75 = eval("(" + jsonStr27 + ")"); //正确
console.log(jsonObj75.sex, jsonObj75.info);//结果为男 我是超人
 
// var jsonObj76 = JSON.parse(jsonStr27);//报错
// console.log(jsonObj76.sex, jsonObj76.info);
 
var jsonStr68 = '{"sex":"男","info":"我\是超人"}';// 1个\斜杠
var jsonObj90 = eval("(" + jsonStr68 + ")");//正确
var jsonObj77 = JSON.parse(jsonStr68);//正确
console.log(jsonObj77.sex, jsonObj77.info);//结果为男 我是超人
 
var jsonStr69 = '{"sex":"男","info":"我\\\是超人"}';// 3个\斜杠
var jsonObj91 = eval("(" + jsonStr69 + ")");//正确
// var jsonObj78 = JSON.parse(jsonStr69);//报错
// console.log(jsonObj78.sex, jsonObj78.info);
 
var jsonStr70 = '{"sex":"男","info":"我\\\\是超人"}';// 4个\斜杠
var jsonObj92 = eval("(" + jsonStr70 + ")");//正确
var jsonObj79 = JSON.parse(jsonStr70);//正确
console.log(jsonObj79.sex, jsonObj79.info);//结果为男 我\是超人
 
 
//---------------------------------
var jsonStr28 = {"sex":"男","info":"我\\是咸蛋超人"};
console.log(jsonStr28.sex, jsonStr28.info);//结果为男 我\是咸蛋超人
 
var jsonStr29 = {"sex":"男","info":"我\是孙悟空"};
console.log(jsonStr29.sex, jsonStr29.info);//结果为男 我是孙悟空
 
var jsonStr30 = {"sex":"男","info":"我\\\是康熙"};
console.log(jsonStr30.sex, jsonStr30.info);//结果为男 我\是康熙
 
var jsonStr31 = {"sex":"男","info":"我\\\\是小宝"};
console.log(jsonStr31.sex, jsonStr31.info);//结果为男 我\\是小宝
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值