问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

json怎么解析特殊字符

发布网友 发布时间:2022-04-25 12:34

我来回答

1个回答

热心网友 时间:2022-04-22 11:12

1. 回车问题
JSON传值的时候,如果有回车符就会挂的。我们可以使用正则来去掉回车符:
1 $str = preg_replace("'([\r\n])[\s]+'", "", $str);
2

3 // 不用正则
4 $str = str_replace("\n","",$str);
转出来的字符串就没有回车符的困扰了。
顺便记录一个PHP过滤脚本:
01 <?php
02 // $document 应包含一个 HTML 文档。
03 // 本例将去掉 HTML 标记,javascript 代码
04 // 和空白字符。还会将一些通用的
05 // HTML 实体转换成相应的文本。
06

07 $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
08 "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
09 "'([\r\n])[\s]+'", // 去掉空白字符
10 "'&(quot|#34);'i", // 替换 HTML 实体
11 "'&(amp|#38);'i",
12 "'&(lt|#60);'i",
13 "'&(gt|#62);'i",
14 "'&(nbsp|#160);'i",
15 "'&(iexcl|#161);'i",
16 "'&(cent|#162);'i",
17 "'&(pound|#163);'i",
18 "'&(copy|#169);'i",
19 "'&#(\d+);'e"); // 作为 PHP 代码运行
20

21 $replace = array ("",
22 "",
23 "\\1",
24 "\"",
25 "&",
26 "<",
27 ">",
28 " ",
29 chr(161),
30 chr(162),
31 chr(163),
32 chr(169),
33 "chr(\\1)");
34

35 $text = preg_replace ($search, $replace, $document);
36 ?>
2. HTML特殊字符
从服务器端以JSON格式将数据传递到客户端后,通过JS显示在HTML页面时,有一些特殊字符不能直接显示,如后台传递过来的是 '<b>msg</b> #' 通过JS显示在HTML页面中时,显示成了 msg # ,并不是msg #,这是由于<与>之间的内容看作是HTML标签了,而以&开头的 与#为HTML实体,所以显示不正常。
解决办法很简单,在JS将其渲染到HTML页面前转换一下即可:
01 <script type="text/javascript">
02 var str = '<b>msg</b> #';
03 document.all.div1.innerHTML='<pre>'+str+'</pre>';
04
05 //js中的字符串正常显示在HTML页面中
06 String.prototype.displayHtml= function(){
07 //将字符串转换成数组
08 var strArr = this.split('');
09 //HTML页面特殊字符显示,空格本质不是,但多个空格时浏览器默认只显示一个,所以替换
10 var htmlChar="&<>";
11 for(var i = 0; i< str.length;i++){
12 //查找是否含有特殊的HTML字符
13 if(htmlChar.indexOf(str.charAt(i)) !=-1){
14 //如果存在,则将它们转换成对应的HTML实体
15 switch (str.charAt(i)) {
16 case '<':
17 strArr.splice(i,1,'<');
18 break;
19 case '>':
20 strArr.splice(i,1,'>');
21 break;
22 case '&':
23 strArr.splice(i,1,'&');
24 }
25 }
26 }
27 return strArr.join('');
28 }
29 alert(str.displayHtml());
30 document.all.div2.innerHTML=str.displayHtml();
31 </script>
3. escape()函数
该函数可以处理空格、斜线和其他任何可能影响浏览器的内容,并将它们转换成 Web 可用字符(比如,空格会被转换成 %20,浏览器并不会将其视为空格处理,而是不做更改,将其直接传递到服务器)。之后,服务器会(通常自动)再把它们转换回它们传输后的本来 “面目”。
1 var url = "nowamagic.php?people=" + escape(people.toJSONString());
2 request.open("GET", url, true);
3 request.onreadystatechange = updatePage;
4 request.send(null);
这种做法的缺点有两个:
在使用 GET 请求发送大块数据时,对 URL 字符串有长度*。虽然这个*很宽泛,但对象的 JSON
字符串表示的长度可能超出您的想象,尤其是在使用极其复杂的对象时更是如此。在跨网络以纯文本发送所有数据的时候,发送数据面临的不安全性超出了您的处理能力。
简言之,以上是 GET 请求的两个*,而不是简单的两个与 JSON 数据相关的事情。在想要发送用户名和姓之外的更多内容,比如表单中的选择时,二者可能会需要多加注意。若要处理任何机密或极长的内容,可以使用 POST 请求。
4. 引号问题
JSON中如果包含引号或双引号,会破坏JSON的格式。有两种方法可以解决。
在入库的时候可以使用addslashes()函数处理一下字符串,给引号前加上斜杠。被改的字符包括单引号 (')、双引号 (")、反斜线 backslash (\) 以及空字符NULL。
1 $text = addslashes($text);
JavaScript的话,可以这样:
1 function valueReplace(v){
2 v=v.toString().replace(new RegExp('(["\"])', 'g'),"\\\"");
3 return v;
4 }
5 var eValue = encodeURI($.trim(valueReplace(e.value)))
就总结到这里。
json怎么解析特殊字符

从服务器端以JSON格式将数据传递到客户端后,通过JS显示在HTML页面时,有一些特殊字符不能直接显示,如后台传递过来的是 'msg #' 通过JS显示在HTML页面中时,显示成了 msg # ,并不是msg #,这是由于&lt;与&gt;之间的内容看作是HTML标签了,而以&amp;开头的 与#为HTML实体,所以显示不正常。解决办法很简单...

json格式如何读取有特殊字符的数据!内详!

json格式是{"a":"b","c":"d"},所以你从数据库读出的值如果包含{,",逗号,这类构造json格式的特殊字符,那么就容易破坏json数据的格式,自然无法正确读出,用replace方法替换掉特殊字符,在特殊字符前加\。例如:String s = "a:b,c";s.replace(":","\:").replace(",","\,");...

如何处理JSON中的特殊字符

1. 回车问题 JSON传值的时候,如果有回车符就会挂的。我们可以使用正则来去掉回车符:str = preg_replace("'([\r\n])[\s]+'", "", $str);// 不用正则 str = str_replace("\n","",$str);转出来的字符串就没有回车符的困扰了。顺便记录一个PHP过滤脚本:&lt;?php// $document 应包含...

如何处理JSON中的特殊字符

可以考虑在json之前先把数据进行编码一下,比如eacape或base64。这样就不用考虑特殊字符了。服务端:含有中文非UTF8字符串-&gt;编码(escape或者base64)-&gt;json_encode -&gt; 输出到客户端 客户端:json数据捕获 -&gt; 解码(unescape或者unbase64)希望我的回答对你有帮助。

如何处理JSON中的特殊字符,纯文本

可以考虑在json之前先把数据进行编码一下,比如eacape或base64。这样就不用考虑特殊字符了。服务端:含有中文非UTF8字符串-&gt;编码(escape或者base64)-&gt;json_encode -&gt; 输出到客户端 客户端:json数据捕获 -&gt; 解码(unescape或者unbase64)

如何用jackson解析含有转义字符的字符串,为标准格式的json字符串

使用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题。//当文本中含有如下特殊字符时,此方法可以成功处理,让其在前台被正确解析,注意:此法不能处理单引号 public static String stringToJson(String s) { StringBuffer sb = new StringBuffer ();for (int...

如何处理Json数据的换行符等特殊字符

要转义,JSON就是这一个致命的缺点,当有换行符号,单个转义"\"符号的时候,会出现解析失败。避免这个问题,在强类型语言里,采用第三方包转换JSON的时候,其实会自动转义,当您自己去拼接的时候,可能要特殊处理,最简单的方式是replace的方式。

Json.parse时遇到特殊字符报错的解决方案

item);temp = encodeURIComponent(temp);this.cameraList.push(JSON.parse(decodeURIComponent(temp)));});} 在进行数据深拷贝时,先将JSON.stringify方法转换后的数据进行编码,之后再解码,以避免特殊字符导致的错误。通过这一系列操作,我们能够成功解决Json.parse方法在遇到特殊字符时产生的报错问题。

JSON.parse解析特殊字符报错的解决办法

《===》JSON.stringify() : 用于将 JavaScript 值转换为 JSON 字符串;JSON.parse() :用于将一个 JSON 字符串转换为对象;encodeURIComponent() :可把字符串作为 URI 组件进行编码,该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) ...

json特殊字符有哪些

1:引号 ,如果是使用单引号,来括值的话,那String 中 ' 单引号为特殊字符 2:正斜杠,反斜杠,换行符号等。另外,必须用 (") 而非 (') 表示字符串

影响json解析的特殊字符 fastjson允许特殊字符 json 特殊字符 json的特殊字符有哪些 json特殊字符转义 影响转json的特殊字符 json特殊字符串的处理 json含有特殊字符反序列化报错 cjson解析json
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
太平盛世专辑曲目 梦见自家灶台缺个角 如何看待宝马3系? - 知乎 为什么缺爱的女人婚姻难幸福快乐 求一些好看的架空言情小说,最好是以第一人称为视角的。小白文请绕。 带双目相机的无人机有哪些 禄莱1982年后 工业3d相机国内有哪些靠谱的厂商,特别是在阳光和弱光环境 海康全新双目单线相机 | 消盲区、抑杂光,引领3D检测新突破 10米范围内实现零盲区大FoV深度测量,奥比中光发布Gemini 2双目... 中通视际行车记录仪蓝屏不开机怎么回事? json 里可以放置视频文件么 行车记录仪后摄头那蓝线是干嘛呢? 行车记录仪为什么用着就蓝屏了 行车记录仪蓝灯一直亮着,就是屏幕一直没显示什么问题,谢谢指点_问... 头发洗完就有头皮屑了,怎么办? 路征探行车记录仪蓝英文字母咋回事 行车记录仪后视录像怎么是蓝屏的行车记录仪蓝屏了怎么回事 行车记录仪后视录像怎么是蓝屏的行车记录仪怎么出现蓝屏 json格式都能转化成什么格式 行车记录仪亮蓝色灯是工作吗? 怎样通过解析json返回相应的视图 五g手机卡4g 手机能用吗 宝宝额头两眉中间上能看到红血丝组成的红点是新生儿斑痣还是鲜红斑痣啊... 宝宝额头出好多小红点,看着像湿疹,怎么办 宝宝额头有点红色的点点,脖子上也有,是怎么了 孩子额头上长了许多小红点是怎么回事 最近孩子脑门上有红点是怎么回事 宝宝额头长了很多红点点什么原因 QQ空间原来给关了,现在想打开!怎么弄??? 行车记录仪指示灯一直在闪正常吗? 行车记录仪跑一会就蓝屏是为什么? 云镜行车记录仪为啥都是蓝色的 行车记录仪开机显示存储器和摄像头点进去就蓝屏了怎么回事? 别克行车记录仪红蓝灯闪烁咋办 交管12123忘记密码了怎么弄? 查询车辆违章密码和用户名忘了怎么办 登录交管12123密码忘记? 交管12123忘记密码了怎么办呀? 在中行10万买的易基科讯,每股一元,现在能值多少钱,希望得到您的解答... 基金净值 110029 001468俩基金还能坚持吗 基金定投.选那一家银行或公司较好及手续费较低? 本人想买基金,但不知道买哪一只好,我要求单位净值在1—1.5元之间的,求... 科讯[求助]后台系统管理中心不能打开 完成一个企业展示型网站建设需要什么 本人CMS新手,一直搞不清楚像风讯、科讯、易动cms之类的是要上传到服务... 请详解封闭式基金 我忘记了我的科讯cms的后台管理帐号和密码了怎么办? 现在建汽车网站用什么CMS系统好? 要专业的,汽车门户网站系统。_百度知 ...