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


    一、错误场景

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

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

    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);
        }
    
    }

    作者:橡胶果实 —— 要成为海贼王的少年

    出处:https://www.cnblogs.com/topfish/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    数据库事务的特性以及MySQL数据库的隔离级别
    IDEA开发工具如何实现热部署
    MongoDB 逻辑还原工具mongorestore
    MongoDB 逻辑备份工具mongodump
    MongoDB 4.X CRUD基本操作
    Linux Tools 之 iostat 工具总结
    MySQL Tools 之 mysql.server 脚本运用
    Oracle 11g R2 Sample Schemas 安装
    MongoDB 4.X 用户和角色权限管理总结
    Percona-Toolkit 之 pt-archiver 总结
  • 原文地址:https://www.cnblogs.com/topfish/p/11387193.html
Copyright © 2020-2023  润新知