{ "body": "{\n \"devip\": null, \n \"devname\" 这个语句中的\n \ 是什么用法?

eisldkw 2019-05-28 08:47:15
下面这个语句中
{ "body": "{\n \"devip\": null, \n \"devname\": null, \n \"devno\": \"D100003\", \n \"orgname\": null, \n \"orgno\": \"104\", \n \"sport_name\": null, \n \"sport_no\": null, \n \"sport_port\": null, \n \"termname\": null, \n \"termno\": \"18021062\"\n}",
"command": "0x119a1001", "htime": 0, "outstreamid": 110, "payloadid": 410, "seqid": 40, "status": 0 }

其中的红色部分中"{\n \"devip\": null, \n \"devname\"

1、第1处\n 在""之中作什么用

2、"devip\" 此处的 \ 什么作用

...全文
2230 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
nxc222 2019-05-30
  • 打赏
  • 举报
回复
body对应的json序列化之后的数据,要正确使用拿到body值之后,反序列化就可以了,用JSON.parse,如果你要对某一对象序列化,用JSON.stringify(),序列化之后,也会对一系列的字符进行转义,包括引号,回车等等一些列的东东,就会变成这个样子。
文盲老顾 2019-05-30
  • 打赏
  • 举报
回复
https://blog.csdn.net/songshuguowang/article/details/86476188 百度javascript字符转义,有很多资料
eisldkw 2019-05-30
  • 打赏
  • 举报
回复
引用 19 楼 文盲老顾 的回复:
\x表示十六进制,后边跟两位十六进制数字表示ascii码,\u表示unicode编码,后边跟4位十六进制数字,表示unicode字符集编码
非常感谢,请问什么资料上有介绍
文盲老顾 2019-05-30
  • 打赏
  • 举报
回复
\x表示十六进制,后边跟两位十六进制数字表示ascii码,\u表示unicode编码,后边跟4位十六进制数字,表示unicode字符集编码
eisldkw 2019-05-30
  • 打赏
  • 举报
回复
引用 17 楼 文盲老顾 的回复:
构建一个字符串的方法太多了,最简单的办法就是直接构建,部分特殊字符用转义方法声明,常见的就有回车换行和引号 例如 var a = 'abcdefg\nhijklmn' 如果不用转义,那么拼接字符串方式也可以 例如 var a = 'abcdefg' + String.fromCharCode(10)+'hijklmn' 甚至于,你可以直接使用 String.fromCharCode 来构建整个字符串 例如 var a = String.fromCharCode(97,98,99,100,101,102,103,10,104,105,106,107,108,109,110) 再或者,用十六进制或unicode直接描述字符串 例如 var a = '\x61\x62\u0063\u0064\x65\x66\x67\x0a\x68\u0069\u006a\x6b\x6c\x6d\x6e' \在字符串定义的引号中,就是表示转义的,如果要输出\符号,你只能用'\\'来定义 同样,//在js中用来定义正则表达式,那么在正则表达式中也无法直接使用/符号,需要用/\//来定义
非常感谢, 请问: var a = '\x61\x62\u0063\u0064\x65\x66\x67\x0a\x68\u0069\u006a\x6b\x6c\x6d\x6e' 这是什么语法,哪儿有相关的资料, '\x61’按转义字符来理解的话,转义后 不是'x61' 吗?
文盲老顾 2019-05-30
  • 打赏
  • 举报
回复
构建一个字符串的方法太多了,最简单的办法就是直接构建,部分特殊字符用转义方法声明,常见的就有回车换行和引号 例如 var a = 'abcdefg\nhijklmn' 如果不用转义,那么拼接字符串方式也可以 例如 var a = 'abcdefg' + String.fromCharCode(10)+'hijklmn' 甚至于,你可以直接使用 String.fromCharCode 来构建整个字符串 例如 var a = String.fromCharCode(97,98,99,100,101,102,103,10,104,105,106,107,108,109,110) 再或者,用十六进制或unicode直接描述字符串 例如 var a = '\x61\x62\u0063\u0064\x65\x66\x67\x0a\x68\u0069\u006a\x6b\x6c\x6d\x6e' \在字符串定义的引号中,就是表示转义的,如果要输出\符号,你只能用'\\'来定义 同样,//在js中用来定义正则表达式,那么在正则表达式中也无法直接使用/符号,需要用/\//来定义
hehaopu 2019-05-30
  • 打赏
  • 举报
回复
引用 15 楼 eisldkw的回复:
有几个错别字,我重新打一遍 非常感谢,最终存储的不都是 00-FF之间的数字吗,\n 回车符的ASCII 码不就是0D吗,直接存储或传输 0D不就是了吗,为什么非常换成\n 才行呢?
转意符的意义就是告诉计算机我这不是一个字符。
eisldkw 2019-05-30
  • 打赏
  • 举报
回复
有几个错别字,我重新打一遍 非常感谢,最终存储的不都是 00-FF之间的数字吗,\n 回车符的ASCII 码不就是0D吗,直接存储或传输 0D不就是了吗,为什么非常换成\n 才行呢?
eisldkw 2019-05-30
  • 打赏
  • 举报
回复
引用 11 楼 天际的海浪 的回复:
你们不要讲什么json序列化之类的。对于新手是不太容易弄明白的。 这就是单纯的字符串中的转义符而已。 \ 在字符串中是个转义符。意思是将\与它后面的一个字符转换成另一个意义的字符。 因为有些字符是无法直接在字符串中表示的。 比如要在字符串中表示换行。是不能 "aaa bbb" 这样写的。因为js语法规定一个字符串是不能分成两行写。(es6最新的模板字符串语法可以,但这里先不说。) 就只有写成 "aaa\nbbb" 其中 \n 会转换成一个换行符。 再有,在一个用双引号(")括起来的字符串中也是没办法直接在字符串内表示 " 字符的。 因为如果 "aaaa "bbb" ccc" 系统会在遇到第二个"时结束这个字符串,就成了"aaaa "的字符串。 所以应该写成 "aaaa \"bbb\" ccc" 其中 \" 表示 \后面的" 是实际的字符。而不是字符串的结束。 你会发现 \ 都是用于转换它后面字符的。在字符串结果中是不会出现 \ 字符的。 那么如果希望在字符串结果中出现 \ 字符怎么办?就要把一个\ 写成两个 \\。 意思是用前面的转义符 \ 将后面的 \ 转换成一个普通的字符。
非常感谢,最终存储的不都是 00-FF之间的数字吗,\n 回车符的ACII码不就是0D吗,直接存储或传输字符 0D不就是了吗,为什么非常换成\n 才行呢? 静候您的答复。
天际的海浪 2019-05-30
  • 打赏
  • 举报
回复
引用 14 楼 eisldkw 的回复:
[quote=引用 11 楼 天际的海浪 的回复:] 你们不要讲什么json序列化之类的。对于新手是不太容易弄明白的。 这就是单纯的字符串中的转义符而已。 \ 在字符串中是个转义符。意思是将\与它后面的一个字符转换成另一个意义的字符。 因为有些字符是无法直接在字符串中表示的。 比如要在字符串中表示换行。是不能 "aaa bbb" 这样写的。因为js语法规定一个字符串是不能分成两行写。(es6最新的模板字符串语法可以,但这里先不说。) 就只有写成 "aaa\nbbb" 其中 \n 会转换成一个换行符。 再有,在一个用双引号(")括起来的字符串中也是没办法直接在字符串内表示 " 字符的。 因为如果 "aaaa "bbb" ccc" 系统会在遇到第二个"时结束这个字符串,就成了"aaaa "的字符串。 所以应该写成 "aaaa \"bbb\" ccc" 其中 \" 表示 \后面的" 是实际的字符。而不是字符串的结束。 你会发现 \ 都是用于转换它后面字符的。在字符串结果中是不会出现 \ 字符的。 那么如果希望在字符串结果中出现 \ 字符怎么办?就要把一个\ 写成两个 \\。 意思是用前面的转义符 \ 将后面的 \ 转换成一个普通的字符。
非常感谢,最终存储的不都是 00-FF之间的数字吗,\n 回车符的ACII码不就是0D吗,直接存储或传输字符 0D不就是了吗,为什么非常换成\n 才行呢? 静候您的答复。[/quote] 回车符的ACII码是0D,也就是\r。 换行符的ACII码是0A,也就是\n。 区别请看: https://blog.csdn.net/laoma4102/article/details/7165179 在字符串中用\x0D 和 \x0A 也可以。 \x0D 等于 \r \x0A 等于 \n 不过用\r\n方便好记一些。
winzond 2019-05-28
  • 打赏
  • 举报
回复
引用 7 楼 eisldkw 的回复:
[quote=引用 5 楼 河南棒小伙 的回复:]
body对应的json序列化之后的数据,要正确使用拿到body值之后,反序列化就可以了,用JSON.parse,如果你要对某一对象序列化,用JSON.stringify(),序列化之后,也会对一系列的字符进行转义,包括引号,回车等等一些列的东东,就会变成这个样子。



非常感谢。请问 (1)为什么要进行序列化? (2)序列化就必须这么处理吗,不这样处理就不能序列化?[/quote]
1.不同的语言有不同的对象格式,前端对象传递到服务器端,服务器商无法直接解析,于是JSON出现了,JSON是字符串,前端可以解析,后端也可以解析,这样才能进行通信。
2.你学什么语言就去找这个语言的JSON解析方法就可以了。
河南棒小伙 2019-05-28
  • 打赏
  • 举报
回复
引用 7 楼 eisldkw 的回复:
[quote=引用 5 楼 河南棒小伙 的回复:] body对应的json序列化之后的数据,要正确使用拿到body值之后,反序列化就可以了,用JSON.parse,如果你要对某一对象序列化,用JSON.stringify(),序列化之后,也会对一系列的字符进行转义,包括引号,回车等等一些列的东东,就会变成这个样子。
非常感谢。请问 (1)为什么要进行序列化? (2)序列化就必须这么处理吗,不这样处理就不能序列化?[/quote] 序列化的目的为了储存,比如你前端传给后台了一个对象,而这一个对象是要存储到数据库里的,数据库类型不可能有对象类型吧,只能序列化成字符串的文本格式进行存储。序列化的方式应该不止这些,具体没研究过,后端也有后端的序列化方式,搞不好有时候,后端序列化后的东西,前端的反序列化不成功也有的。
eisldkw 2019-05-28
  • 打赏
  • 举报
回复
引用 5 楼 河南棒小伙 的回复:
body对应的json序列化之后的数据,要正确使用拿到body值之后,反序列化就可以了,用JSON.parse,如果你要对某一对象序列化,用JSON.stringify(),序列化之后,也会对一系列的字符进行转义,包括引号,回车等等一些列的东东,就会变成这个样子。
非常感谢。请问 (1)为什么要进行序列化? (2)序列化就必须这么处理吗,不这样处理就不能序列化?
lllomh 2019-05-28
  • 打赏
  • 举报
回复
你好,n 是换行的意思啦 另一个是转义的
河南棒小伙 2019-05-28
  • 打赏
  • 举报
回复
body对应的json序列化之后的数据,要正确使用拿到body值之后,反序列化就可以了,用JSON.parse,如果你要对某一对象序列化,用JSON.stringify(),序列化之后,也会对一系列的字符进行转义,包括引号,回车等等一些列的东东,就会变成这个样子。
  • 打赏
  • 举报
回复
文本原来的格式就是这样的,把换行符去掉到时输出字符串就只有一行了,body里面的是一个json格式的数据
eisldkw 2019-05-28
  • 打赏
  • 举报
回复
引用 2 楼 freekaiQaQ 的回复:
\n --> 换行 \"devip\" --> 对 ”【引号】转义。
非常感谢,但是为什么要处理成这种样式呢,还有这是什么语法 ?
freekaiQaQ 2019-05-28
  • 打赏
  • 举报
回复
\n --> 换行 \"devip\" --> 对 ”【引号】转义。
eisldkw 2019-05-28
  • 打赏
  • 举报
回复
还有,这是什么语法,怎么这么怪?
winzond 2019-05-28
  • 打赏
  • 举报
回复
抱歉,发出后才看到“天际的海浪”的回复,删不掉了,没办法
加载更多回复(3)

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧