转:

Java 处理json字符串value中多余的双引号

一、错误场景

  json字符串的value值中有多余的双引号

1、直接上错误的json字符串

1
String errorJsonStr =  "{\"userName\":\"瑞文\"绿色\",\"hero\":\"f放逐之刃\" 盘子\"}";

二、处理方案

1、第一种 :

1、 将 {" 替换为 {%         // % 也可以是其他字符,自己认识就好,但是要注意要处理的字符串中不包含你要换成的这个特殊字符
将 ":" 替换为 %:%
将 ”, 替换为 %,
2、 将多余的 双引号替换为空字符串

2、第二种(推荐使用此方法):

自己写个方法将value值中多余的双引号替换为 中文双引号,直接上代码:

public class MainTest {

    public static void main(String[] test) {
String errorJsonStr = "{\"userName\":\"瑞文\"绿色\",\"hero\":\"f放逐之刃\" 盘子\"}";
errorJsonStr = toJsonString(errorJsonStr);
System.out.println(errorJsonStr);
} // 处理json字符串中value多余的双引号, 将多余的双引号替换为中文双引号
private static String toJsonString(String s) {
char[] tempArr = s.toCharArray();
int tempLength = tempArr.length;
for (int i = 0; i < tempLength; i++) {
if (tempArr[i] == ':' && tempArr[i + 1] == '"') {
for (int j = i + 2; j < tempLength; j++) {
if (tempArr[j] == '"') {
if (tempArr[j + 1] != ',' && tempArr[j + 1] != '}') {
tempArr[j] = '”'; // 将value中的 双引号替换为中文双引号
} else if (tempArr[j + 1] == ',' || tempArr[j + 1] == '}') {
break;
}
}
}
}
}
return new String(tempArr);
} }

Java 处理json字符串value中多余的双引号的更多相关文章

  1. jquery的JSON字符串处理、单引号双引号的转换

    1.jquery的JSON字符串处理 var pwdlevel_val = "{"minLength":1,"maxLength":20," ...

  2. java解析Json字符串之懒人大法

    面对Java解析Json字符串的需求,有很多开源工具供我们选择,如google的Gson.阿里巴巴的fastJson.在网上能找到大量的文章讲解这些工具的使用方法.我也是参考这些文章封装了自己的Jso ...

  3. Json-lib 进行java与json字符串转换之一

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下. 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.J ...

  4. Java解析json字符串和json数组

    Java解析json字符串和json数组 public static Map<String, String> getUploadTransactions(String json){ Map ...

  5. python笔记22-literal_eval函数处理返回json中的单双引号

    前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...

  6. 公式中表达单个双引号【"】和空值【""】的方法及说明

    http://club.excelhome.net/thread-661904-1-1.html 有人问为什么不用三个双引号"""来表示单个双引号["]呢,如果 ...

  7. java 获取json字符串中key对应的值

    用到了Gson的JsonParser maven项目引入 <dependency> <groupId>com.google.code.gson</groupId> ...

  8. Java解析Json字符串--复杂对象

    { "name": "三班", "students": [ { "age": 25, "gender" ...

  9. Json-lib 进行java与json字符串转换之二

    二.list和json字符串的互转 list-->>json字符串 public static void listToJSON(){ Student stu=new Student(); ...

随机推荐

  1. for,foreach,$.each()跳出循环的比较

    说起跳出循环,第一时间想起的是 break \ continue,这是经典的for循环. 1.for 循环 先上例子,思考输出结果,体会 break 与 continue 的不同. 1 var arr ...

  2. Mybatis-Generator逆向工程,简单策略

    1.下载generator包 https://github.com/mybatis/generator/releases mybatis-generator-core-1.3.6.zip 官网下载即可 ...

  3. vue-cli 创建项目不成功 原因为项目文件夹无node_modules文件 进行npm install不成功解决办法

    不知道有没有童鞋出现过全局安装vue-cli是成功的,但是创建项目时命令行报了很多错误,如下 本来是需要按照提示依次切换到项目文件夹,再npm run dev 即可完成项目创建并启动的,但是又报了如下 ...

  4. LightOJ-1020-A Childhood Game(博弈)

    链接: https://vjudge.net/problem/LightOJ-1020 题意: Alice and Bob are playing a game with marbles; you m ...

  5. [NgRx] NgRx Runtime Checks

    Turn on runtime check: @NgModule({ declarations: [AppComponent], imports: [ ..., StoreModule.forRoot ...

  6. mysql kill所有Sleep/Execute进程

    现查出需要kill的进程: SELECT GROUP_CONCAT(CONCAT('kill ',id) SEPARATOR '; ') AS cmd FROM information_schema. ...

  7. 三十二. 多表查询 MySQL管理工具 、 用户授权及撤销

    1.MySQL管理工具 部署LAMP+phpMyAdmin平台 安装httpd.mysql.php-mysql及相关包 启动httpd服务程序 解压phpMyAdmin包,部署到网站目录 配置conf ...

  8. vue 的 watch 如何在初始化时执行

    之前的做法一直是在 created 钩子之后手动调用一次 created() { this.fetchText(); }, watch: { text: 'fetchText', } 后来在翻阅文档的 ...

  9. LibreOJ #6217. 扑克牌

    二次联通门 : LibreOJ #6217. 扑克牌 /* LibreOJ #6217. 扑克牌 背包.... 回到家之后简直了...sb题想半天 */ #include <cstdio> ...

  10. @Autowired 与@Resource的区别详解

    spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...