JSON特殊字符的处理

本文转自:http://blog.csdn.net/btt2013/article/details/66970735

JSon 数据中的String 传递数据时,需要处理好特殊字符.

JSon数据中有特殊字符:

1:引号 ,如果是使用单引号,来括值的话,那String 中  '  单引号为特殊字符

2:正斜杠,反斜杠,换行符号等。另外,必须用 (") 而非 (') 表示字符串: lain c

 
  1. /** 
  2.      * JSON字符串特殊字符处理,比如:“\A1;1300” 
  3.      * @param s 
  4.      * @return String 
  5.      */  
  6.     public String string2Json(String s) {        
  7.         StringBuffer sb = new StringBuffer();        
  8.         for (int i=0; i<s.length(); i++) {  
  9.             char c = s.charAt(i);    
  10.              switch (c){  
  11.              case '\"':        
  12.                  sb.append("\\\"");        
  13.                  break;        
  14.              case '\\':        
  15.                  sb.append("\\\\");        
  16.                  break;        
  17.              case '/':        
  18.                  sb.append("\\/");        
  19.                  break;        
  20.              case '\b':        
  21.                  sb.append("\\b");        
  22.                  break;        
  23.              case '\f':        
  24.                  sb.append("\\f");        
  25.                  break;        
  26.              case '\n':        
  27.                  sb.append("\\n");        
  28.                  break;        
  29.              case '\r':        
  30.                  sb.append("\\r");        
  31.                  break;        
  32.              case '\t':        
  33.                  sb.append("\\t");        
  34.                  break;        
  35.              default:        
  36.                  sb.append(c);     
  37.              }  
  38.          }      
  39.         return sb.toString();     
  40.         }
posted @   ppjj  阅读(1883)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2017-02-09 freemarker 展示数据列表并传值给后台
点击右上角即可分享
微信分享提示