当前位置: 首页 > 知识库问答 >
问题:

从OData V2实体获取嵌套的“结果”列表

孙琨
2023-03-14
{
    "d": {
        "EmployeeID": 1,
        "LastName": "Davolio",
        "FirstName": "Nancy",
        "Orders": {
            "results": [
                {
                    "OrderID": 10258
                }
            ]
        },
        "Territories": {
            "results": [
                {
                    "TerritoryID": "06897"
                }
            ]
        }
    }
}
@JsonRootName(value = "d")
public class Employee {

    @JsonProperty("EmployeeID")
    private int employeeId;
    
    @JsonProperty("LastName")
    private String lastName;
    
    @JsonProperty("FirstName")
    private String firstName;
    
    @JsonProperty("Orders")
    private List<Order> orders;
    
    @JsonProperty("Territories")
    private List<Territory> territories;

...
}

你们知道如何忽略嵌套的“results”属性并直接获得列表吗?在这种情况下真的需要自定义反序列化器或包装器类吗?

谢了!

共有1个答案

夏侯腾
2023-03-14

总是有多种方法来解决这个问题。

一种方法是创建一个包装类并让Employee直接引用它。

例如:

public class WrapperDto<T> implements Serializable {
    @JsonProperty("results")
    private List<T> elements;
}
public class Employee {
...
    @JsonProperty("Orders")
    private WrapperDto<Order> orders;
    
    @JsonProperty("Territories")
    private WrapperDto<Territory> territories;
...
}
 类似资料:
  • 作为这个答案的后续(关于方法1),我想更进一步: 我想根据某些标准筛选子对象。我尝试了下面的查询,但它仍然没有筛选出孙实体下的对象。 关联类实体 类关系ParentEntity<1-OneTomany-x>ChildEntity<1-OneTomany-x>GrandChildEntity

  • 4. 嵌套结构体 结构体也是一种递归定义:结构体的成员具有某种数据类型,而结构体本身也是一种数据类型。换句话说,结构体的成员可以是另一个结构体,即结构体可以嵌套定义。例如我们在复数的基础上定义复平面上的线段: struct segment { struct complex_struct start; struct complex_struct end; }; 从第 1 节 “复合类型与结构体”

  • 我有一个名为Student实体,它有几个与Student相关的字段,还有一个具有一个任何关系的主题列表。在这里,我需要得到所有的字段,包括主题列表,除了“图像”,因为它使用更多的内存,它需要很长的时间来检索所有行。有没有人可以说,如何创建投影和标准,以检索这个学生对象,没有图像字段单独?有没有像“AliastObeAnneStedResultTransformer”这样的自定义结果转换器?因为在我

  • 我正在尝试使用实体图来触发加载的惰性集合,但不幸的是,实体图也会触发所有嵌套集合。我正在使用spring-data-jpa-entity-graph库在运行时创建实体图。 带有 JPA 存储库的 Spring 服务: 在这种情况下,服务还为每辆车返回零件收集,但我只想获取每个品牌的车辆收藏的品牌列表。 我们如何在第一级触发加载懒惰集合(仅限品牌车辆-没有车辆零件)?

  • 然后连空白节点都是嵌套的,这是我不想要的。有什么方法可以使用Jena获得这种结构吗?或者有没有其他的Java库可以更好地处理这一点?

  • 问题内容: 好的,所以我试图从Wikidata中获取有关电影的信息,以以下电影为例: https //www.wikidata.org/wiki/Q24871 在页面上,数据清楚地以可读格式显示,但是当您尝试通过API提取数据时,会得到以下信息:https : //www.wikidata.org/w/api.php?action=wbgetentities&ids=Q24871 这是其中的一部分