版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaogc_a/article/details/82528310
我请求第三方接口时候,因为List转json之后出现反斜杠,一直报签名失败,一开始并没有注意到是这个反斜杠问题。
是因为还有其他公司也有对接过那个接口,然后把他们请求的报文拿过来对比才发现问题是出在这里。
错误格式
"subOrders":[{"mid\":"988460101800201","totalAmount\":"1"}]
正确格式
"subOrders":[{"mid":"988460101800201","totalAmount":"1"}]
处理方法
1. import java.util.ArrayList;
2. import java.util.List;
3.
4. import com.alibaba.fastjson.JSONObject;
5.
6. public class Main {
7. public static void main(String[] argv) throws Exception {
8. List<A> a = new ArrayList<A>() ;
9. a.add(new A("1", 1)) ;
10. a.add(new A("2", 2)) ;
11. a.add(new A("3", 3)) ;
12. //直接返回对象就不会有反斜杠。。
13. //必须是Object类型,不能调toString,不然也会有转义字符
14. Object o = JSONObject.toJSON(a) ;
15. System.out.println(o) ;
16. }
17. }