您的位置首页百科问答

json中包含斜杠\、引号“等特殊字符该如何处理

json中包含斜杠\、引号“等特殊字符该如何处理

的有关信息介绍如下:

json中包含斜杠\、引号“等特殊字符该如何处理

JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式。其简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。当然有时包含其中的字符串含有的一些特殊字符会给这种便利性增加困难,那么该如何处理这些特殊字符呢,下面就来简单说说

JSON 以键值对的形式来保存 JS 对象,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值,比如:

{"firstName":"John"}

这很容昆哨易理解,等价于这条 JavaScript 语句:

{firstName="John"}

在使用JSON的不同语言环境中,会碰到很多特殊字符或者保留字符的使用,对这类字符的使用是存在限制的,虽然此类字符数量并不是很多

首先是回车换行符,此符号在字符串中包含的情况很多,当JSON传值的时候,如果有回车符就会出现异常。此类问题可以使用正则表达式来解决,比如:

$str = preg_replace("'([\r\n])[\s]+'", "", $str);

在处理页面数据时,也会包含塑劫很多HTML特殊字符,当从后台通过JSON传输数据离包狠显示在页面HTML中时,可能会导致数据显示异常。比如后台传递过来的是“msg #”,其中尖括号内容就会被看做是HTML标签而显示成“msg#”,此种情况下只需要在显示前对JSON中的字符串数据进行转换处理即可

在传输的数据中,如果包含引号或双引号,会破坏JSON的格式,此类错误可以使用转义符(斜杠\)来进行处理,只需在引号前加上斜杠。需要被改动的字符包括单引号 (')、双引号 (")、反斜线 backslash (\) 以及空字符NULL

那么对于转义符(斜杠\)自身出现在传输数据中又该如何处理呢,答案很简单,在其前面再加一个斜杠进行转义即可