Java Json响应中的Json数组始终为空

Java Json响应中的Json数组始终为空,java,json,rest,gson,jersey-2.0,Java,Json,Rest,Gson,Jersey 2.0,我正在开发rest客户端程序,其中我正在使用gson解析json响应。我的json响应如下 { "Status": "success", "Data": [ { "ID": "123", "Type": 0, "OperatorID": null, "DepartmentID": "128", "LanguageCode": "en-US",

我正在开发rest客户端程序,其中我正在使用gson解析json响应。我的json响应如下

{
    "Status": "success",

    "Data": [
        {
            "ID": "123",
            "Type": 0,
            "OperatorID": null,
            "DepartmentID": "128",
            "LanguageCode": "en-US",
            "WebsiteDefID": "160",
            "VisitID": "737",
        },
        {
            "ID": "737867804181437078",
            "Type": 0,
            "OperatorID": "1785",
            "DepartmentID": "200",
            "LanguageCode": "en-US",
            "WebsiteDefID": "160",
            "VisitID": "737",
            "CustomFields": {
                "Model": "ABCD",
                "Question": "ABCD"
            }
        }
    ]
}
格森:

GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson= gsonBuilder.create();
Info info = gson.fromJson(inactiveChatMessages, Info.class);
我的
Info
Data
Pojo类如下:

public class Info {
    private String Status;

    private Data[] Data;

    public String getStatus() {
        return Status;
    }
    public void setStatus(String status) {
        Status = status;
    }

    public Data[] getData() {
        return Data;
    }
    public void setData(Data[] data) {
        Data = data;
    }

    @Override
    public String toString() {
        return "ChatInfo [Status=" + Status + ",  Data=" + Arrays.toString(Data) + "]";
    }
}
数据:

在数组中的
Data
pojo中,我只访问我需要的字段。但作为响应,我总是将数据数组设置为null。没有错误。所以我真的不知道到底出了什么问题。有人能帮我吗

Info [Status=success, Data=[]]
您的Json无效

您的有效json

{
    "Status": "success",

    "Data": [{
            "ID": "123",
            "Type": 0,
            "OperatorID": null,
            "DepartmentID": "128",
            "LanguageCode": "en-US",
            "WebsiteDefID": "160",
            "VisitID": "737"

        },
        {
            "ID": "737867804181437078",
            "Type": 0,
            "OperatorID": "1785",
            "DepartmentID": "200",
            "LanguageCode": "en-US",
            "WebsiteDefID": "160",
            "VisitID": "737",
            "CustomFields": {
                "Model": "ABCD",
                "Question": "ABCD"
            }

        }
    ]
}
对于json验证,您可以使用

否则,您的代码工作正常

这是输出

ChatInfo [Status=success,  Data=[Data [ID=123, OperatorID=null, DepartmentID=128, CustomFields=null], Data [ID=737867804181437078, OperatorID=1785, DepartmentID=200, CustomFields=[Model=ABCD,question=ABCD]]]]

用于生成POJO,您的POJO似乎对GSON无效,因为它需要@SerializableName(“param”)anotationI已经尝试过给出它。但是没有运气请用感谢回复Dhiraj来纠正你的jason。我正在从我们的客户端访问RESTURL,它是有效的。这里的问题是,即使它在我所在的地方运行良好。但当我在jboss服务器中部署它时,它不工作。这让我很困惑。所以当你点击RESTURL时,你会得到上面的JSON?是的,在本地环境中,我得到响应,但在jboss服务器中,响应总是空白的。我正在使用Jersey 2 Jarso,这不是您的json问题,而是rest url问题。试着从邮递员那里点击你的RESTURL
ChatInfo [Status=success,  Data=[Data [ID=123, OperatorID=null, DepartmentID=128, CustomFields=null], Data [ID=737867804181437078, OperatorID=1785, DepartmentID=200, CustomFields=[Model=ABCD,question=ABCD]]]]