2017-07-19 14 views
-2

ジャクソンを使用して次のjsonをpojoクラスに変換する方法を教えてください。ジャクソンマップキー値ペアのjson配列をpojoに

{ 
"company": [{ 
    "employee": { 
     "address": { 
      "email": "[email protected]" 
     }, 
     "info": { 
      "role": "admin", 
      "name": "abc" 
     } 
    } 
}, 
{ 
    "employee": { 
     "address": { 
      "email": "[email protected]" 
     }, 
     "info": { 
      "role": "developer", 
      "name": "xyz" 
     } 
    } 
}] 
} 

サンプルJavaコード(それはゲッターとセッターが含まれます)

public class Company{ 
@JsonProperty("employee") 
List<Employee> employee; 

} 
+0

これであなたを助けるために提供し、あまりにも情報はほとんどありません。少なくとも、「従業員」の構造を表示する必要があります。また、問題の原因を正確に説明する必要があります。あなたのコードが現在どのように見えるか、どのようなエラーが発生したか、そしてコードを実行することで期待される結果がどのようなものかを示してください。 – Raniz

+0

あなたはこれまでに何を試しましたか?あなたもpojoコンバータにたくさんのオンラインjsonがあると主張してみましたか? http://www.jsonschema2pojo.org/ –

答えて

0

私はこれであなたを助けることができます。

このjason rightに相当するpojoクラスを作成する必要があります。ここではEmployee.javaは

public class Address 
{ 
    private String email; 

    public String getEmail() 
    { 
     return email; 
    } 

    public void setEmail (String email) 
    { 
     this.email = email; 
    } 

    @Override 
    public String toString() 
    { 
     return "ClassPojo [email = "+email+"]"; 
    } 
} 

Company.java Address.java

public class Employee 
{ 
    private Address address; 

    private Info info; 

    public Address getAddress() 
    { 
     return address; 
    } 

    public void setAddress (Address address) 
    { 
     this.address = address; 
    } 

    public Info getInfo() 
    { 
     return info; 
    } 

    public void setInfo (Info info) 
    { 
     this.info = info; 
    } 

    @Override 
    public String toString() 
    { 
     return "ClassPojo [address = "+address+", info = "+info+"]"; 
    } 
} 

あなたのJSONに相当

POJOクラスが

の下に記載されているように行きます

public class Company 
{ 
    private Employee employee; 

    public Employee getEmployee() 
    { 
     return employee; 
    } 

    public void setEmployee (Employee employee) 
    { 
     this.employee = employee; 
    } 

    @Override 
    public String toString() 
    { 
     return "ClassPojo [employee = "+employee+"]"; 
    } 
} 

Info.java

public class Info 
{ 
    private String name; 

    private String role; 

    public String getName() 
    { 
     return name; 
    } 

    public void setName (String name) 
    { 
     this.name = name; 
    } 

    public String getRole() 
    { 
     return role; 
    } 

    public void setRole (String role) 
    { 
     this.role = role; 
    } 

    @Override 
    public String toString() 
    { 
     return "ClassPojo [name = "+name+", role = "+role+"]"; 
    } 
} 
関連する問題