fastjson如何去掉多余的反斜杠

本文介绍如何使用阿里巴巴FastJSON库避免JSON字符串中出现多余反斜杠转义字符的方法。通过直接返回对象而非字符串形式可以有效解决此问题。

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

{"data":"{\"message\":\"\",\"result\":0,\"data\":{\"cardtype\":0,\"sealimgs\":[\"{\\\"id\\\":16,\\\"img\\\":\\\"H4znOvV8Cb101BRlW6WhIU8n8B6GEqjM44AAA=\",\"realnameauthstate\":3,\"country\":0,\"faceacstate\":0,\"email\":\"study@163.com\",\"dateformat\":0,\"signimgtype\":\"png\",\"company\":\"\",\"realname\":\"张三\",\"uafacstate\":0}}","mac":"f17d652444ce014c0c9cc58aff0b79bdffbe90b4"}  

最近在做一个项目,用的了阿里的fastjson,但是返回的json串中有许多反斜杠,都要被他烦死了(\\\),查了半天,终于解决了,具体方法如下:

import java.util.ArrayList;  
import java.util.List;  
  
import com.alibaba.fastjson.JSONObject;  
  
public class Main {  
   public static void main(String[] argv) throws Exception {  
       List<A> a = new ArrayList<A>() ;  
       a.add(new A("1", 1)) ;  
       a.add(new A("2", 2)) ;  
       a.add(new A("3", 3)) ;  
	 //直接返回对象就不会有反斜杠。。
	         Object o = JSONObject.toJSON(a) ;  
	         System.out.println(o) ;  
	     }  
	 }  
	  
	  
	  
	class A{  
	    String name ;  
	    Integer age ;   
	   A(String name , Integer age){  
	        this.name = name ;  
	        this.age = age ;  
	     }  
	    public String getName() {  
	        return name;  
	     }  
	    public void setName(String name) {  
	         this.name = name;  
	      }  
	    public Integer getAge() {  
	        return age;  
	     }  
	    public void setAge(Integer age) {  
	        this.age = age;  
	    }  
	       
	   }  


直接返回对象就不会有反斜杠了,我的程序是这样的
JSONArray sealimgs = new JSONArray(userImg_seals.size());
                int i = 0;
                for(UserImg userImgSub : userImg_seals){
                    byte[] imgdata = userImgSub.getImgdata();
                    byte[] comp_imgdata = CompressUtil.compressData(imgdata);
                    sealimg = Base64.encodeBytes(comp_imgdata);
                    sealimgname = userImgSub.getImgname();
                    if (StrTool.strNotNull(sealimgname)) {
                        sealimgname = sealimgname.substring(sealimgname.lastIndexOf(".") + 1, sealimgname.length());
                    }
                    JSONObject subJson = new JSONObject();
                    subJson.put("id", userImgSub.getImgid());
                    subJson.put("type", sealimgname);
                    subJson.put("img", sealimg);
                    sealimgs.add(subJson);
                    i++;
                }
                Object obj = JSONObject.toJSON(sealimgs);
         





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值