Java 使用Gson反序列化时跳过级别

Java 使用Gson反序列化时跳过级别,java,json,serialization,gson,Java,Json,Serialization,Gson,大家好,我很难用Gson反序列化我的json。 我通过一个简单的例子向您说明我的问题: 这是我收到的JSON: "order": { "id": "123", "name": "BOBI", "items": { "totalSize": 2, "records": [

大家好,我很难用Gson反序列化我的json。 我通过一个简单的例子向您说明我的问题:

这是我收到的JSON:

"order": {
    "id": "123",
    "name": "BOBI",
    "items": {
        "totalSize": 2,
        "records": [
            {
                "id": "456",
                "Quantity": 1.0,
                "Description": "Shipping",
                "TotalAmount": 6.29,
                "TotalTaxAmount": 0.3,
                "UnitPrice": 5.99
            }
        ]
    }
}
我想删除/跳过此无用部分:

        "totalSize": 2,
            "records": [
我需要一个类似于@SerializedName(“items.records”)的功能,通过使用如下Java类跳过一个级别:

公共类sfordto{
私有字符串id;
私有字符串名称;
@SerializedName(“items.records”)
私人名单记录;
}
主要呼吁:

SFOrderDto orderArray=gson.fromJson(jsonOrder,SFOrderDto.class);

希望有人能帮助我,并为我糟糕的英语道歉!:)

我在这里找到了解决方案:

添加@JsonUnwrapped解决了我的问题

公共类sfordto{
私有字符串id;
私有字符串名称;
@JsonUnwrapped
@SerializedName(“items.records”)
私人名单记录;
}

感谢@papaya和@Michal Ziober试图帮助我:)

你试过@JsonIgnore吗?你需要实现定制的
JsonDeserializer
接口。请参见示例:@JsonIgnore也将忽略所有孩子。。我只需要跳过项目和记录之间的无用级别。因此项目将获得记录数组。