繁体   English   中英

如何使用POjo类为嵌套的json创建Java对象

[英]How to create a Java Object for the nested json Using POjo class

我在为此示例嵌套json格式生成java对象时遇到问题

{
"Id":"id1",
"Eid":"eid1",
"tar":"pro",
"highlights":[{
  "name":"l-p"
  "Data":{
       "dataid":"did1"
       }
     },
{
  "name":"c-p",
  "Data":{
       "dataid":"did2"
       }
     },
{
  "name": "ename",
   "Data": {
       "enamedetails":"details"
}
}]
}

我为id,eid和tar生成了getter setter方法,但不确定如何为高亮显示生成。 并使用gson将其转换为json。

吸气剂设定方​​法:

public class hello implements intt{

       @SerializedName("ID")
       private String ID = null;

       @SerializedName("Eid")
       private String Eid=null;

       @SerializedName("tar")
       private String tar=null;
/**
       * @return the Id
       */
       public String getId() {
              return Id;
       }

       /* (non-Javadoc)
       * @see java.lang.Object#toString()
       */
       @Override
       public String toString() {
              return "EDetails [ID=" + ID
                           + ", eid=" + eid+ ", tar=" + tar
                           + "]";
       }

       /**
       * @param Id the Id to set
       */
       public void setId(String Id) {
              this.Id= Id;
       }

       /**
       * @return the eid
       */
       public String geteid() {
              return eid;
       }

       /**
       * @param eid the eid to set
       */
       public void seteid(String eid) {
              this.eid= eid;
       }

       /**
       * @return the tar
       */
       public String gettar() {
              return tar;
       }

       /**
       * @param tar the tar to set
       */
       public void settar(String tar) {
              this.tar= tar;
       }

在实施课上,

edetails.setId("id1");
edetails.settar("pro");
edetails.seteid("eid1");
 Gson gson = new Gson();
 String sDetails=gson.toJson(edetails);

不知道如何为嵌套的json类执行此操作

亮点是对象列表,因此您可以这样做:

 public class hello implements intt{
    //other parts of class
       List<Highlight> highlights;

       public void setHighlights(List<Highlight> highlights){
          this.highlights = highlights;
         }
    }

Highlight是POJO,如下所示:

public class Highlight{
  public String name;
  @SerializedName("Data")
  public Data data;
}

和数据POJO:

public class Data{
  public String dataid;
  public String enamedetails;
}

然后,您只需创建一个列表,然后调用setHighlights方法。

暂无
暂无

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

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