处理json字符串中双引号转义

本文介绍了如何解决前台传来的包含双引号的JSON字符串在转换为Java集合时的问题,通过示例展示了如何使用`JSON.parseArray`方法,并提供了一种特殊字符转义的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前台传过来的字符串,通过JSON.parseArray转为集合

import com.alibaba.fastjson.JSON;
List<Subject> subjectList = JSON.parseArray(project.getSubjectStr(), Subject.class);

2.数据里面包含的双引号会导致转换失败

3.进行转义的的方法

 public static String formatErrorJson(String s) {
        char[] temp = s.toCharArray();
        int n = temp.length;
        for (int i = 0; i < n; i++) {
            if (temp[i] == ':' && temp[i + 1] == '"') {
                for (int j = i + 2; j < n; j++) {
                    if (temp[j] == '"') {
                        if (temp[j + 1] != ',' && temp[j + 1] != '}') {
                            temp[j] = '”';
                        } else if (temp[j + 1] == ',' || temp[j + 1] == '}') {
                            break;
                        }
                    }
                }
            }
        }
        return new String(temp);
    }

4.再进行转换

5.可以进行保存,前端进行转义 或者解析出来转换为双引号

String  way=way.replace('”','"');

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值