Java 如何使用gson库形成json,以使对象、列表之间有循环?
我是Java新手,因为我的背景是JavaScript。 输入是通过jsp页面输入的,它们的值被提供给json请求。 我有如下所示的dto对象,使用它我必须形成json,使用Java中的gson库将其作为请求发送给postman。 现在我能够形成请求,但并不完全是不知道,如果有更好的方法来处理我在下面共享的代码,我想知道如何使用不同的Java 如何使用gson库形成json,以使对象、列表之间有循环?,java,json,gson,Java,Json,Gson,我是Java新手,因为我的背景是JavaScript。 输入是通过jsp页面输入的,它们的值被提供给json请求。 我有如下所示的dto对象,使用它我必须形成json,使用Java中的gson库将其作为请求发送给postman。 现在我能够形成请求,但并不完全是不知道,如果有更好的方法来处理我在下面共享的代码,我想知道如何使用不同的visibilityInfo数组来循环visibilityType,因为json请求在请求中会有它们的数组 请参阅下面的dto对象和包含代码的主类 MainClass
visibilityInfo
数组来循环visibilityType
,因为json请求在请求中会有它们的数组
请参阅下面的dto对象和包含代码的主类
MainClass.java:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
NSPNotificationRequest nr = new NSPNotificationRequest();
SendCVConfirmationNotification scv = new SendCVConfirmationNotification();
Address addr = new Address();
addr.setAddressType(Values.addressType);
addr.setAddressLine1(Values.addressLine1);
addr.setAddressLine2(Values.addressLine2);
addr.setAddressLine3(Values.addressLine3);
addr.setPoliticalDivision(Values.politicalDivision);
addr.setCity(Values.city);
addr.setState(Values.state);
addr.setZipcode(Values.zipcode);
addr.setCountry(Values.country);
addr.setCountry(Values.country);
addr.setPhoneNumber(Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
VisibilityInfo vi = new VisibilityInfo();
vi.setVisibilityType(VisibilityType.THIRD_PARTY);
vi.setAccountNumbers(accountNumbers);
vi.setReceivingAddress(addr);
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(vi);
scv.setEnroleeName(Values.enroleeName);
scv.setVisibilityInfo(visibilityInfo);
scv.setCompanyName(Values.companyName);
scv.setNickName(Values.nickName);
scv.setHasClaims(Values.hasClaims);
scv.setHasReturns(Values.hasReturns);
scv.setCvURL(Values.cvURL);
nr.setTransactionId(Values.transactionId);
nr.setClientId(Values.clientId);
nr.setDestinationAddress(Values.destinationAddress);
nr.setSendCVConfirmationNotification(scv);
nr.setLocale(Values.locale);
nr.setMediaType(Values.mediaType);
nr.setPageId(Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
Address.java
AddressType.java
预期结果:需要添加代码,根据VisibilityType
,循环VisibilityInfo
,如预期结果所示
{
"transactionId": "12334567",
"clientId": "PPP",
"destinationAddress": "xyz@ggg.com",
"sendConfirmationNotification": {
"enroleeName": "Dev User 992",
"visibilityInfo": [
{
"visibilityType": "FOURTH_PARTY",
"accountNumbers": [
"1233",
"6722"
],
"receivingAddress": null
},
{
"visibilityType": "OUTBOUND",
"accountNumbers": [
"6152",
"1277"
],
"receivingAddress": null
},
{
"visibilityType": "INBOUND",
"accountNumbers": null,
"receivingAddress": {
"addressType": "PPP_Store",
"addressLine1": null,
"addressLine2": null,
"addressLine3": null,
"politicalDivision": null,
"city": "downtown test",
"state": "NY",
"zipcode": "7539",
"country": "US",
"phoneNumber": null
}
}
],
"companyName": "Clent_companyName",
"nickName": "DXXX1",
"hasClaims": false,
"hasReturns": false,
"cvURL": "http://www.google.com/test/sampleURL"
},
"locale": "en_US",
"mediaType": "EMAIL",
"pageId": "enroll"
}
获得的实际结果:
{
"transactionId": "12334567",
"clientId": "PPP",
"mediaType": "EMAIL",
"locale": "en_US",
"pageId": "enroll",
"destinationAddress": "xyz@gmail.com",
"sendCVConfirmationNotification": {
"enroleeName": "Dev User 992",
"companyName": "PPP_Clent_companyName",
"nickName": "DU991",
"visibilityInfo": [
{
"visibilityType": "THIRD_PARTY",
"accountNumbers": [
"1233",
"2234"
],
"receivingAddress": {
"addressType": "PPP_Store",
"addressLine1": "addressLine1",
"addressLine2": "addressLine2",
"addressLine3": "addressLine3",
"politicalDivision": "politicalDivision",
"city": "city",
"state": "state",
"zipcode": "zipcode",
"country": "country",
"phoneNumber": "phoneNumber"
}
}
],
"hasClaims": false,
"hasReturns": false,
"cvURL": "http://www.PPP.com/test/sampleURL"
}
}
你能帮我写一个有效的代码,并将基于
VisibilityType
到VisibilityInfo
的对象数组添加到创建的json对象中。我建议你为每个类创建一个构造函数,该构造函数包含所有必需的值。这样,您可以用更少的代码创建对象
MainClass.java:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
Address addr = new Address(Values.addressType, Values.addressLine1,
Values.addressLine2, Values.addressLine3, Values.politicalDivision,
Values.city, Values.state, Values.zipcode, null, Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(new VisibilityInfo(VisibilityType.THIRD_PARTY,
accountNumbers, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
public enum VisibilityType {
INBOUND,
OUTBOUND,
FOURTH_PARTY,
THIRD_PARTY;
}
public static void main(String[] args) {
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("6722");
visibilityInfo.add(new VisibilityInfo(VisibilityType.FOURTH_PARTY,
accountNumbers, null));
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("6152");
accountNumbers.add("1277");
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
accountNumbers, null));
Address addr = new Address(Values.addressType, null,
null, null, null, "downtown test", "NY", "7539", "US", null);
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
null, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
将此添加到NSNotificationRequest:
public NSPNotificationRequest(String transactionId, String clientId,
String destinationAddress, SendCVConfirmationNotification sendCVConfirmationNotification,
String locale, String mediaType, String pageId){
this.transactionId = transactionId;
this.clientId = clientId;
this.destinationAddress = destinationAddress;
this.sendCVConfirmationNotification = sendCVConfirmationNotification;
this.locale = locale;
this.mediaType = mediaType;
this.pageId = pageId;
//if this class includes any other properties, include them accordingly
}
编辑:
要获得指定的预期结果,必须编辑VisibilityType和主方法:
VisibilityType.java:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
Address addr = new Address(Values.addressType, Values.addressLine1,
Values.addressLine2, Values.addressLine3, Values.politicalDivision,
Values.city, Values.state, Values.zipcode, null, Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(new VisibilityInfo(VisibilityType.THIRD_PARTY,
accountNumbers, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
public enum VisibilityType {
INBOUND,
OUTBOUND,
FOURTH_PARTY,
THIRD_PARTY;
}
public static void main(String[] args) {
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("6722");
visibilityInfo.add(new VisibilityInfo(VisibilityType.FOURTH_PARTY,
accountNumbers, null));
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("6152");
accountNumbers.add("1277");
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
accountNumbers, null));
Address addr = new Address(Values.addressType, null,
null, null, null, "downtown test", "NY", "7539", "US", null);
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
null, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
Main:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
Address addr = new Address(Values.addressType, Values.addressLine1,
Values.addressLine2, Values.addressLine3, Values.politicalDivision,
Values.city, Values.state, Values.zipcode, null, Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(new VisibilityInfo(VisibilityType.THIRD_PARTY,
accountNumbers, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
public enum VisibilityType {
INBOUND,
OUTBOUND,
FOURTH_PARTY,
THIRD_PARTY;
}
public static void main(String[] args) {
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("6722");
visibilityInfo.add(new VisibilityInfo(VisibilityType.FOURTH_PARTY,
accountNumbers, null));
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("6152");
accountNumbers.add("1277");
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
accountNumbers, null));
Address addr = new Address(Values.addressType, null,
null, null, null, "downtown test", "NY", "7539", "US", null);
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
null, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
publicstaticvoidmain(字符串[]args){
List visibilityInfo=新建ArrayList();
List AccountNumber=new ArrayList();
账号。添加(“1233”);
账号。添加(“6722”);
visibilityInfo.add(新visibilityInfo)(VisibilityType.FOURTH_PARTY,
accountnumber,null);
List AccountNumber=new ArrayList();
账号。添加(“6152”);
账号。添加(“1277”);
visibilityInfo.add(新visibilityInfo(VisibilityType.OUTBOUND,
accountnumber,null);
地址addr=新地址(Values.addressType,null,
空,空,空,“市中心测试”,“纽约”,“7539”,“美国”,空);
visibilityInfo.add(新visibilityInfo(VisibilityType.OUTBOUND,
null,addr));
SendCVConfirmationNotification scv=新的SendCVConfirmationNotification(
Values.enroleeName、Values.companyName、Values.昵称、visibilityInfo、,
Values.hasClaims、Values.hasReturns、Values.cvURL、null);
NSNotificationRequest nr=新的NSNotificationRequest(Values.transactionId,
Values.clientId、Values.destinationAddress、scv、Values.locale、,
Values.mediaType、Values.pageId);
Gson gsonObj=新的Gson();
字符串jsonStr=gsonObj.toJson(nr);
系统输出打印LN(jsonStr);
}
如果我犯了一个错误或误解了你的问题,告诉我,我会设法解决
以下是一些提示:
- 尽量发布不太一般的问题和需要较少代码的更具体的问题
- 查看Java文档、构造函数、数据类型等
- 不要使用那么多枚举。在某些情况下,它们有意义(VisibilityType),而在某些情况下它们没有意义(值)
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
Address addr = new Address(Values.addressType, Values.addressLine1,
Values.addressLine2, Values.addressLine3, Values.politicalDivision,
Values.city, Values.state, Values.zipcode, null, Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(new VisibilityInfo(VisibilityType.THIRD_PARTY,
accountNumbers, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
public enum VisibilityType {
INBOUND,
OUTBOUND,
FOURTH_PARTY,
THIRD_PARTY;
}
public static void main(String[] args) {
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("6722");
visibilityInfo.add(new VisibilityInfo(VisibilityType.FOURTH_PARTY,
accountNumbers, null));
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("6152");
accountNumbers.add("1277");
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
accountNumbers, null));
Address addr = new Address(Values.addressType, null,
null, null, null, "downtown test", "NY", "7539", "US", null);
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
null, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
将此添加到NSNotificationRequest:
public NSPNotificationRequest(String transactionId, String clientId,
String destinationAddress, SendCVConfirmationNotification sendCVConfirmationNotification,
String locale, String mediaType, String pageId){
this.transactionId = transactionId;
this.clientId = clientId;
this.destinationAddress = destinationAddress;
this.sendCVConfirmationNotification = sendCVConfirmationNotification;
this.locale = locale;
this.mediaType = mediaType;
this.pageId = pageId;
//if this class includes any other properties, include them accordingly
}
编辑:
要获得指定的预期结果,必须编辑VisibilityType和主方法:
VisibilityType.java:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
Address addr = new Address(Values.addressType, Values.addressLine1,
Values.addressLine2, Values.addressLine3, Values.politicalDivision,
Values.city, Values.state, Values.zipcode, null, Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(new VisibilityInfo(VisibilityType.THIRD_PARTY,
accountNumbers, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
public enum VisibilityType {
INBOUND,
OUTBOUND,
FOURTH_PARTY,
THIRD_PARTY;
}
public static void main(String[] args) {
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("6722");
visibilityInfo.add(new VisibilityInfo(VisibilityType.FOURTH_PARTY,
accountNumbers, null));
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("6152");
accountNumbers.add("1277");
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
accountNumbers, null));
Address addr = new Address(Values.addressType, null,
null, null, null, "downtown test", "NY", "7539", "US", null);
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
null, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
Main:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.xxx.nsp.constants.Values;
import com.xxx.nsp.dto.Address;
import com.xxx.nsp.dto.SendCVConfirmationNotification;
import com.xxx.nsp.dto.VisibilityInfo;
import com.xxx.nsp.dto.VisibilityType;
import com.xxx.nsp.json.NSPNotificationRequest;
public class MainClass {
public static void main(String[] args) {
Address addr = new Address(Values.addressType, Values.addressLine1,
Values.addressLine2, Values.addressLine3, Values.politicalDivision,
Values.city, Values.state, Values.zipcode, null, Values.phoneNumber);
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("2234");
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
visibilityInfo.add(new VisibilityInfo(VisibilityType.THIRD_PARTY,
accountNumbers, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
}
public enum VisibilityType {
INBOUND,
OUTBOUND,
FOURTH_PARTY,
THIRD_PARTY;
}
public static void main(String[] args) {
List<VisibilityInfo> visibilityInfo = new ArrayList<>();
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("1233");
accountNumbers.add("6722");
visibilityInfo.add(new VisibilityInfo(VisibilityType.FOURTH_PARTY,
accountNumbers, null));
List<String> accountNumbers = new ArrayList<>();
accountNumbers.add("6152");
accountNumbers.add("1277");
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
accountNumbers, null));
Address addr = new Address(Values.addressType, null,
null, null, null, "downtown test", "NY", "7539", "US", null);
visibilityInfo.add(new VisibilityInfo(VisibilityType.OUTBOUND,
null, addr));
SendCVConfirmationNotification scv = new SendCVConfirmationNotification(
Values.enroleeName, Values.companyName, Values.nickName, visibilityInfo,
Values.hasClaims, Values.hasReturns, Values.cvURL, null);
NSPNotificationRequest nr = new NSPNotificationRequest(Values.transactionId,
Values.clientId, Values.destinationAddress, scv, Values.locale,
Values.mediaType, Values.pageId);
Gson gsonObj = new Gson();
String jsonStr = gsonObj.toJson(nr);
System.out.println(jsonStr);
}
publicstaticvoidmain(字符串[]args){
List visibilityInfo=新建ArrayList();
List AccountNumber=new ArrayList();
账号。添加(“1233”);
账号。添加(“6722”);
visibilityInfo.add(新visibilityInfo)(VisibilityType.FOURTH_PARTY,
accountnumber,null);
List AccountNumber=new ArrayList();
账号。添加(“6152”);
账号。添加(“1277”);
visibilityInfo.add(新visibilityInfo(VisibilityType.OUTBOUND,
accountnumber,null);
地址addr=新地址(Values.addressType,null,
空,空,空,“市中心测试”,“纽约”,“7539”,“美国”,空);
visibilityInfo.add(新visibilityInfo(VisibilityType.OUTBOUND,
null,addr));
SendCVConfirmationNotification scv=新的SendCVConfirmationNotification(
Values.enroleeName、Values.companyName、Values.昵称、visibilityInfo、,
Values.hasClaims、Values.hasReturns、Values.cvURL、null);
NSNotificationRequest nr=新的NSNotificationRequest(Values.transactionId,
Values.clientId、Values.destinationAddress、scv、Values.locale、,
Values.mediaType、Values.pageId);
Gson gsonObj=新的Gson();
字符串jsonStr=gsonObj.toJson(nr);
系统输出打印LN(jsonStr);
}
如果我犯了一个错误或误解了你的问题,告诉我,我会设法解决
以下是一些提示:
- 尽量发布不太一般的问题和需要较少代码的更具体的问题
- 查看Java文档、构造函数、数据类型等
- 不要使用那么多枚举。在某些情况下,它们有意义(VisibilityType),而在某些情况下它们没有意义(值)