我有两个POJO类:AddressInformation
和PackageInformation
(它们的getter和setter在下面的代码中没有指定)。Pojo to Json,如果Pojo嵌入对象
public class AddressInformation {
private Integer address_id;
private String street_name;
private String city;
private String state;
private Integer zipcode;
}
public class PackageInformation {
private Integer packageId;
private Integer packageType;
private Double packageWeight;
private AddressInformation packageSource;
private AddressInformation packageDestination;
}
我坚持使用Hibernate的类的实例,并试图找回的PackageInformation
使用Hibernate的数据库内容,并作为JSON格式返回的内容。我没有使用任何框架。我想要packagelist
其中PackageInformation的集合被转换为JSON。
这里的问题是PackageInformation
对象中嵌入了AddressInformation对象。
我尝试下面的代码,PackageInformation集合转换成JSON:
JSONArray json = new JSONArray();
Gson gson = new Gson();
try{
for(PackageInformation pack : packagelist){
JSONObject jsonObj = new JSONObject();
AddressInformation sourceAddress = pack.getPackageSource();
JsonElement sourceAddressJson = gson.toJsonTree(sourceAddress);
jsonObj.put("sourceAddress",sourceAddressJson);
AddressInformation destinationAddress = pack.getPackageDestination();
JsonElement destinationeAddressJson = gson.toJsonTree(destinationAddress);
jsonObj.put("destinationAddress",destinationeAddressJson);
jsonObj.put("package_id",pack.getPackageId());
jsonObj.put("package_type",pack.getPackageType());
jsonObj.put("package_weight",pack.getPackageWeight());
}
returnString = json.toString();
}catch(JSONException je){
returnString = je.toString();
}
return Response.status(200).entity(returnString).build();
但我不sourceAddress
和destinationAddress
细节嵌入作为JSON得到JSON。相反,我得到了黑色字段:sourceAddress
和destinationAddress
细节缺失,如下面的JSON。
[
{
"sourceAddress": {},
"destinationAddress: {},
"package_id": 1,
"package_type": 1,
"package_weight": 500,
}
{
"sourceAddress": {},
"destinationAddress: {},
"package_id": 2,
"package_type": 5,
"package_weight": 700,
}
]
那么是什么问题? –