失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 转义字符()对JavaScript中JSON.parse的影响概述

转义字符()对JavaScript中JSON.parse的影响概述

时间:2021-11-02 17:25:52

相关推荐

转义字符()对JavaScript中JSON.parse的影响概述

web前端|js教程

转义字符,JSON,parse

web前端-js教程

按照ECMA262第五版中的解释,JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象。json标准参考。(其实将符合json标准的字符串转化为js对象可以用eval,但是eval性能相对差且存在安全隐患(会执行json字符串中的代码),本文仅写JSON)

本文写的是转义字符对JSON.parse方法的影响。

仿阿里巴巴源码,vscode程序专用编辑器,ubuntu挂载dmg,tomcat配置工程包,爬虫存帖子,php 商城并发,seo怎么做全推zjkwlgs,单页面组合网站lzw

一般来说在JSON.parse的参数包含转移字符的时候会遇到两次转义的问题,其实第一次是字符串本身的转义,第二次是将真正转为js对象的转义。

闸蟹 源码,vscode 输出中文,Ubuntu企鹅,tomcat整合solr,sqlite3.so下载,jquery 页面左右滚动插件,未来最流行的前端开发框架,网络爬虫与图的遍历,php取数组中的值,安顺网络推广seo,数字火币兑换网站源码,怎么禁网页选中,joomla免费模板lzw

举例如下:

例子一:将字符串{“a”:”b”,”b”:”\\\\”}’传递给JSON.parse,首先解析器提取单引号括起来的字符串时认为第一个转义第二个 第三个转义第四个,也就是说实际可输出字符串是{“a”:”b”,”b”:”\\”}(可通过console.log(‘{“a”:”b”,”b”:”\\\\”}’)验证),之后正式转为js对象的时候还有一次转义,也就是实际输出字符转中的第一个转义第二个(此时只有两个)。所以console.log(JSON.parse(‘{“a”:”b”,”b”:”\\\\”}’) );输出结果为Object {a: “b”, b: “\”},也就是说实际显示的数据为一个(实际可输出一个说明在此之前还有一个)。

例子二:

var obj = {

a : “b”,

b : “\\”,

c : {

b : “\\”,

a : {

b : “\\”

}

}

};

var json_str = JSON.stringify(obj);

console.log( JSON.stringify(obj) );

console.dir(JSON.parse(json_str));

console.dir(JSON.parse(‘{“a”:”b”,”b”:”\\\\”,”c”:{“b”:”\\\\”,”a”:{“b”:”\\\\”}}}’));输出结果如下图

pic

根据转义规则,实际输出一个在这个之前必定有一个。所以如上第一行输出按照书写来说为{“a”:”b”,”b”:”\\\\”,”c”:{“b”:”\\\\”,”a”:{“b”:”\\\\”}}}’,可通过第三条输出来验证。

总结,如果想在js对象中出现一个,需要在json字符串中出现四个\ 。

云打包 网站源码,vscode怎么加边框,Ubuntu装ns,静态应用缓存tomcat,sqlite唯一字段设置,抓图爬虫,php实现注册登陆,云推网站seo优化,一流小说网站模板,系统调研问卷模板lzw

对于其他的其他的特殊字符

1.双引号(”),如果正确出现双引号应为\\\”

2.\n,如想想出现正确的换行需要json字符串中是\

,其实是先对\n中的\转义,n变成了普通字符,在解析为js对象的时候n与之前的\(只有一个了)被解释为换行。如下的两个与此类似。

3.\r,\

4.\t,\

如果觉得《转义字符()对JavaScript中JSON.parse的影响概述》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。