程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JSON,Jersey和Jackson中的多态性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决JSON,jersey和Jackson中的多态性?

开发过程中遇到JSON,jersey和Jackson中的多态性的问题如何解决?下面主要结合日常开发的经验,给出你关于JSON,jersey和Jackson中的多态性的解决方法建议,希望对你解决JSON,jersey和Jackson中的多态性有所启发或帮助;

杰克逊确实支持多态,

在您的孩子班级中用以下名称注释:

 @JsonTypename("Child_Class")
 @JsonTypeInfo(use = JsonTypeInfo.ID.name, include = JsonTypeInfo.As.PROPERTY, property = "objectType")
 public class Child extends Parent{
 ....
 }

在父级中,您可以指定子类型:

@JsonSubTypes({ @JsonSubTypes.Type(value = Child.class), @JsonSubTypes.Type(value = SomeOther.class)}) 
public class Parent {
    ....
}

解决方法

Jackson with jersey是否支持JSON上的多态类?

比方说,例如,我有一个Parent类和一个从其继承的Child类。而且,假设我要使用JSON通过http发送和接收父级和子级。

public class Parent {
...
}

public class Child extends Parent {
...
}

虑过这种实现:

@Consumes({ "application/json" }) // This method supposed to get a parent,enhance it and return it BACk
    public @ResponseBody 
    Parent enhance(@requestBody Parent parent) {
    ...
    }

问题:如果我给此功能(当然是通过JSON)一个Child对象,它将起作用吗?Child的多余成员字段也将被序列化吗?基本上,我想知道这些框架是否支持多态消费和响应。

便说一句,我正在使用Spring MVC。

大佬总结

以上是大佬教程为你收集整理的JSON,Jersey和Jackson中的多态性全部内容,希望文章能够帮你解决JSON,Jersey和Jackson中的多态性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。