转 http://blog.csdn.net/icewizardry/article/details/17265267

protected string RemoveIllegalCharacterForJson(string json)
{
StringBuilder stb = new StringBuilder(json);
return stb.Replace("\r", "\\r").Replace("\n", "\\n").Replace("'", "\"").ToString();
}

使用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题。

//当文本中含有如下特殊字符时,此方法可以成功处理,让其在前台被正确解析,注意:此法不能处理单引号

public static String stringToJson(String s) {    
          StringBuffer sb = new StringBuffer ();     
          for (int i=0; i<s.length(); i++) {     
        
              char c = s.charAt(i);     
              switch (c) {     
              case '\"':     
                  sb.append("\\\"");     
                  break;     
//              case '\\':   //如果不处理单引号,可以释放此段代码,若结合下面的方法处理单引号就必须注释掉该段代码
//                  sb.append("\\\\");     
//                  break;     
              case '/':     
                  sb.append("\\/");     
                  break;     
              case '\b':      //退格
                  sb.append("\\b");     
                  break;     
              case '\f':      //走纸换页
                  sb.append("\\f");     
                  break;     
              case '\n':     
                  sb.append("\\n"); //换行    
                  break;     
              case '\r':      //回车
                  sb.append("\\r");     
                  break;     
              case '\t':      //横向跳格
                  sb.append("\\t");     
                  break;     
              default:     
                  sb.append(c);    
              }}
          return sb.toString();     
       }
     
//注意,下面的方法是在把你的数据文本接入json数据字符串之前使用,预先对文本做处理后在接入JSON字符串

//处理文本中的单引号   和  斜杠

public static String StringDanYinToJSON(String ors) {
           ors = ors == null ? "" : ors;
           StringBuffer buffer = new StringBuffer(ors);
           int i = 0;
           while (i < buffer.length()) {
            if (buffer.charAt(i) == '\'' || buffer.charAt(i) == '\\') {
             buffer.insert(i, '\\');
             i += 2;
            } else {
             i++;
            }
          }
           return buffer.toString();
     }

json - 内容中需处理的特殊字符(转)的更多相关文章

  1. C#在Json反序列化中处理键的特殊字符

    假设有如下Json 数据: 1.{ 2."id" : 1, 3."@value" : "this a @", 4."$p" ...

  2. Json数据中的特殊字符处理

    今天在项目中遇到一个问题,页面上的数据突然显示不出来了,查验后得知是Json数据出现了问题.使用JSON从后台向前台传输数据的时候,当数据本身含有一些特殊字符,会导致JSON数据的解析出错.如果内容中 ...

  3. python接口自动化:响应内容中json字符串对象的处理

    实现代码如下: import json #定义一个字典.一个列表.两个字符串({}中必须是双引号) di1={"} di2=[{"}] di3='{"name" ...

  4. comTest.json文件中内容,被NewsList.vue文件引入

    本文目标:就是把扩散名为.json文件中数据,传递给NewsList.vue文件.主要通过导出,并传递给data(){}变紧 新建文件名为:commTest.json { "schoolNa ...

  5. 二:C#对象、集合、DataTable与Json内容互转示例;

    导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型:    二:C#对象.集合.DataTable与Json内容互转示例: ...

  6. JMETER从JSON响应中提取数据

    如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...

  7. 如何使用JMETER从JSON响应中提取数据

    如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...

  8. java解析从接口获取的json内容并写到excle(只写与标题匹配的值,并非把所有的接口返回值都写进去)

    需求:从接口中获取的一个json数组中有多个对象,每个对象中的值并非都需要,只需查出标题中的几项对应的值即可.且还需要按某个字段排序后依次写到excel 实现方法如下: package jansonD ...

  9. 使用jsonpath解析json内容

    JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容.下面我把官网介绍的每个表达式用代码实现,可以更直观的知道该怎么用它. 一.首先需要 ...

随机推荐

  1. C# to IL 7 Pointers(指针)

    Pointers are the heart and soul of a programming language. The only reason why the Cprogramming lang ...

  2. IBM WebSphere MQ介绍安装以及配置服务详解

    首先介绍一下MQ MQ消息队列的简称是一种应用程序对应用程序的通信方法.说白了也就是通过队列的方式来对应用程序进行数据通信.而无需专用链接来链接它们. MQ的通讯方式 1.数据报的方式 Datagra ...

  3. 模拟实现memcpy 与 memmove

    模拟实现memcpy 与 memmove 1.str系列的函数只能处理字符串——>必须带有'\0'2.memcpy内存处理函数:不涉及'\0',需要包含头文件 string.h3.source的 ...

  4. MySQL 5.7新特性之在线收缩undo表空间

    1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2 ...

  5. mysql之 OPTIMIZE TABLE整理碎片

    来看看手册中关于 OPTIMIZE 的描述: OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... 如果您已经删除 ...

  6. egg-init 知识点

    Create a simple type application $ egg-init --type simple [dest]

  7. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 解决办法

    启动mysql 报错: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/m ...

  8. C#:decimal的去0显示

    public static string DecimalToString(decimal d) { return d.ToString("#0.######"); } 后面的0会给 ...

  9. SpringCloud之网关 Zuul(四)

    一 Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Z ...

  10. python之全局安装包管理工具pip

    1.curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py 2.sudo python get-pip.py 3.sudo easy_i ...