简体   繁体   English

反序列化在Java中具有抽象类的Json Object

[英]Deserialize Json Object having abstract class in java

I am using flexjson for deserializing json string 我正在使用flexjson反序列化json字符串

My Classes are as follows : 我的课程如下:

public abstract class Content{
int id;}

public class LoyaltyProgram{
Content content;
//
}

How can i deserialize following json object 我如何反序列化以下json对象

{"name":"TESTER123","resetFrequencyHours":"1","target":"5","totalCount":"5","content":138} { “名称”: “TESTER123”, “resetFrequencyHours”: “1”, “目标”: “5”, “TOTALCOUNT”: “5”, “内容”:138}

currently im using flolowing code for deserializing : 目前,我正在使用以下代码进行反序列化:

new JSONDeserializer<LoyaltyProgram>()
    .use(null, LoyaltyProgram.class).deserialize(json);

This throws following error : [ content ]:There was an exception trying to instantiate an instance of content 这将引发以下错误:[content]:尝试实例化content实例时发生异常

You need to extend Content with a concrete class. 您需要使用具体的类来extend Content。

public class SomeContent extends Content {
}

That said, from what I see, your Content class only contains an int field. 就是说,据我所知,您的Content类仅包含一个int字段。 Both your JSon object and your LoyaltyProgram should probably take int content instead of Content content as a parameter. 您的JSon对象和LoyaltyProgram都应该采用int content而不是Content content作为参数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM