zoukankan      html  css  js  c++  java
  • Java 处理json字符串value中多余的双引号

    转:

    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);
        }
    
    }
    复制代码
  • 相关阅读:
    gradle 使用本地maven 仓库 和 提交代码到maven
    eclipse 快捷键
    eclipse gradle 找不到依赖解决办法
    java web 简单的权限管理
    spring 配置properties 编码
    html 一些坑。。。
    js 的 一些操作。。。
    maven 过滤webapp下的文件
    django 模型
    vue系列之webstrom的设置
  • 原文地址:https://www.cnblogs.com/libin6505/p/11648189.html
Copyright © 2011-2022 走看看