如何将复杂的动态 json 转换为 pojo 类

我有以下json


[{

    "Maindata": "{\"SubData\":[{\"Name\":\"a\",\"rollnumber\":1,\"ParentName\":c},{\"Name\":\"b\",\"rollnumber\":2,\"ParentName\":d},{\"Name\":\"m\",\"rollnumber\":3,\"ParentName\":n}],\"schooltime\":123213,\"lunchtime\":2321,\"TeacherName\":\"abc\",\"ClassTeacherName\":\"abc\",\"Subjects\":null,\"ClassName\":\"xyz\",\"PrincipleName\":[\"sdffd\"],\"ClassID\":\"21312\",\"books\":\"\",\"classdata\":{\"scienceclass\":\"2hrs\",\"Projects\":\"True\",\"Games\":\"Nothing\"},\"real\":null,\"classuniqueid\":\"21323234234\",\"schoolbelltime\":21323321}"

}]

在上面的 Json 中,我们有


MainData - 主要数据有两个主要部分


SubData

ClassData

当我试图查看上面的 Json 查看器时,它将 MainData 显示为主 Json,并且不显示子数据 json


现在我想将上面的 json 转换为 Pojo 类,以某种方式说如果我将子数据的名称指定为“a”,它应该给我“a”的所有详细信息。现在子数据是动态的,它现在有三个部分,当有新的学生数据可用时它可以有 100 个,也可以只有两个。如何编写一个读取此内容并提供数据的 pojo 类。


我正在使用 gson,下面是我的 pojo 课程


public class MyPojo

{

    private String Maindata;


    public String getMaindata ()

    {

        return Maindata;

    }


    public void setMaindata (String Maindata)

    {

        this.Maindata = Maindata;

    }


    @Override

    public String toString()

    {

        return "ClassPojo [Maindata = "+Maindata+"]";

    }


慕码人8056858
浏览 316回答 2
2回答

牧羊人nacy

您可以使用Jackson将 JSON 数据转换为 POJO,并将 POJO 转换为 JSON 数据。对于像您这样的复杂 JSON 数据,您需要在相应的类中创建复杂类型的 ArrayList。

回首忆惘然

将您的有效 JSON 粘贴到此站点并选择目标语言:Java注释样式:GSON并下载 Zip 文件,然后将其解压缩,然后您将获得 JSON 响应的所有 POJO 类
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java