Java 具有具有嵌套JSON的POST请求主体构造函数的POJO类
我想为具有嵌套JSON的POST请求主体创建一个具有构造函数的POJO类,但我不确定如何在其中调用JSONArray PS:我不想使用setter方法设置数据,我想使用构造函数来设置数据 以下是JSON:Java 具有具有嵌套JSON的POST请求主体构造函数的POJO类,java,json,cucumber,bdd,pojo,Java,Json,Cucumber,Bdd,Pojo,我想为具有嵌套JSON的POST请求主体创建一个具有构造函数的POJO类,但我不确定如何在其中调用JSONArray PS:我不想使用setter方法设置数据,我想使用构造函数来设置数据 以下是JSON: { "FirstName": "test", "LastName": "account", "PASSWORD": "Password123*", "Email&q
{
"FirstName": "test",
"LastName": "account",
"PASSWORD": "Password123*",
"Email": [
{
"TYPE": "Primary",
"VALUE": "arpitay6@mail7.io"
}
]}
我创造的POJO-
import java.util.List;
public class PostAccountCreateAPI {
private List <Email> email;
private String password;
private String firstname;
private String lastname;
public PostAccountCreateAPI(List<Email> email, String password, String firstname, String lastname) {
this.email = email;
this.password = password;
this.firstname = firstname;
this.lastname = lastname;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List<Email> getEmail() {
return email;
}
public void setEmail(List<Email> email) {
this.email = email;
}
}
package pojo;
public class Email {
private String type;
private String value;
public Email(String type, String value) {
this.type = type;
this.value = value;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
导入java.util.List;
公共类PostAccountCreateAPI{
私人名单电子邮件;
私有字符串密码;
私有字符串名;
私有字符串lastname;
public PostAccountCreateAPI(列出电子邮件、字符串密码、字符串名、字符串名){
this.email=电子邮件;
this.password=密码;
this.firstname=firstname;
this.lastname=lastname;
}
公共字符串getFirstname(){
返回名字;
}
public void setFirstname(字符串firstname){
this.firstname=firstname;
}
公共字符串getLastname(){
返回姓氏;
}
public void setLastname(字符串lastname){
this.lastname=lastname;
}
公共字符串getPassword(){
返回密码;
}
public void setPassword(字符串密码){
this.password=密码;
}
公共列表getEmail(){
回复邮件;
}
公用电子邮件(列出电子邮件){
this.email=电子邮件;
}
}
包pojo;
公共类电子邮件{
私有字符串类型;
私有字符串值;
公共电子邮件(字符串类型、字符串值){
this.type=type;
这个值=值;
}
公共字符串getType(){
返回类型;
}
公共void集合类型(字符串类型){
this.type=type;
}
公共字符串getValue(){
返回值;
}
公共void设置值(字符串值){
这个值=值;
}
}
在main方法中,我使用-
PostAccountCreateAPI PostAccountCreateAPI有效负载=新的PostAccountCreateAPI(“pri@mail7.io","P$$w0rd","arpita","garg",代码>
但它不起作用。有人可以建议如何执行此操作吗?构造函数的第一个参数是List
,但您当前正在将字符串作为第一个参数传递给构造函数。创建Email
对象列表,然后调用PostAccountCreateAPI
构造函数。好的……下面我给出一个完整的示例:
PostAccountCreateApi类:
import java.util.List;
public class PostAccountCreateAPI{
private String FirstName;
private String LastName;
private String PASSWORD;
private List<Email> Email;
public PostAccountCreateAPI(){}
public PostAccountCreateAPI(String FirstName, String LastName, String PASSWORD, List<Email> Email){
this.FirstName = FirstName;
this.LastName = LastName;
this.PASSWORD = PASSWORD;
this.Email = Email;
}
public void setFirstName(String FirstName){
this.FirstName = FirstName;
}
public String getFirstName(){
return this.FirstName;
}
public void setLastName(String LastName){
this.LastName = LastName;
}
public String getLastName(){
return this.LastName;
}
public void setPASSWORD(String PASSWORD){
this.PASSWORD = PASSWORD;
}
public String getPASSWORD(){
return this.PASSWORD;
}
public void setEmail(List<Email> Email){
this.Email = Email;
}
public List<Email> getEmail(){
return this.Email;
}
}
具有虚拟主方法的主类:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Email> emailList = new ArrayList<>();
emailList.add(new Email("Primary", "pri@mail7.io"));
emailList.add(new Email("Primary", "amimulahsan7@gmail.com"));
//And list goes on......
PostAccountCreateAPI postAccountCreateAPI = new PostAccountCreateAPI("arpita", "garg",
"P@$$w0rd", emailList);
}
}
导入java.util.ArrayList;
导入java.util.List;
公共班机{
公共静态void main(字符串[]args){
List emailList=new ArrayList();
emailList.add(新电子邮件(“主邮件”),“pri@mail7.io"));
emailList.add(新电子邮件(“主邮件”),“amimulahsan7@gmail.com"));
//这个名单还在继续。。。。。。
PostAccountCreateAPI PostAccountCreateAPI=新的PostAccountCreateAPI(“arpita”,“garg”,
“P$$w0rd”,电子邮件列表);
}
}
它以什么方式不起作用?你有什么错误?谢谢你的回复。但是我不知道如何在main方法中调用这个PostAccountCreateAPI。如何将参数作为列表传递?@ArpitaGarg我现在提供了一个完整的函数示例作为答案。如果答案有帮助,请接受。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Email> emailList = new ArrayList<>();
emailList.add(new Email("Primary", "pri@mail7.io"));
emailList.add(new Email("Primary", "amimulahsan7@gmail.com"));
//And list goes on......
PostAccountCreateAPI postAccountCreateAPI = new PostAccountCreateAPI("arpita", "garg",
"P@$$w0rd", emailList);
}
}