我有一个看起来像这样的课程
private byte[] profilePicture;
private ProfileType profileType;
private String profileHandle;
private String personalEmail;
private Address address;
使用javax.json将其转换为Json是这样的:
JsonObject payloadObject = Json.createObjectBuilder()
.add("profilePicture", profilePictureEncoded)
.add("profileType", profileType.ordinal())
.add("profileHandle", profileHandle)
.add("personalEmail", personalEmail)
.add("webAppEmail", webappEmail)
.add("address", address.produceJsonPayload())
.build();
一切都好!!除了有时没有个人资料图片,所以我想逐步建立这个,即
JsonObject payloadObject = Json.createObjectBuilder().build();
if(profilePicture != null)
{
final String profilePictureEncoded = ..... //encode the image
payloadObject.put("profilePicture",profilePictureEncoded);
}
问题是你不能因为我无法将profilePictureEncoded转换为JsonString
有没有人有这样的工作?或者我需要使用另一个Json库吗?
达米恩答案 0 :(得分:1)
您可以获得对JsonObjectBuilder
。
JsonObjectBuilder payloadObjectBuilder = Json.createObjectBuilder();
等到你在构建时拥有一切
if(profilePicture != null)
{
final String profilePictureEncoded = ..... //encode the image
payloadObject.add("profilePicture",profilePictureEncoded);
}
然后build()
JsonObject payloadObject = payloadObjectBuilder.build();