JSON对象转换问题

今天调用别人接口遇到一个问题,原本约定的data格式为:JSON字符串,但本次返回了一个空字符串"",

大概是这样的

字符串类型的httpResult.data值为字result:''success",responseCode:200,data:""

request.getResponseClass()返回类型的属性有:

    private String result;
    private String responseCode;
    private String errorMsg;
    private String errorDetail;
    private JSONObject data;

导致

JSON.parseObject(httpResult.getData(), request.getResponseClass());

这行代码JSON转换异常,因为目标类型的data属性是JSONObject类型的,传个""当然不行。

由于这是一个通用接口,很多方法都调用而且只有这一个接口返回了空串,又不方便给对方提意见更正。想了半天憋出一个办法,如下:

public void setData(String data) {
        try {
            this.data = JSON.parseObject(data);
        } catch (Exception e) {
            this.data = null;
        }
    }

已解决:)

原文地址:https://www.cnblogs.com/GoQC/p/6256910.html