Java Gson到POJO,如何读取内部JSON对象作为同一POJO的一部分?
我有一个类似于下面的Java Gson到POJO,如何读取内部JSON对象作为同一POJO的一部分?,java,json,gson,Java,Json,Gson,我有一个类似于下面的JSON,我想使用Gson将其转换为一个POJO 我试图找出如何基本上减少内部嵌套对象,如desc,将其视为同一Java对象的一部分,而不是创建一个名为desc的新POJO 有没有一种方法可以通过序列化名称来查看嵌套的JSON对象 提前谢谢 要转换为POJO的JSON { 'name': name, 'desc': { 'country': country,
JSON
,我想使用Gson
将其转换为一个POJO
我试图找出如何基本上减少内部嵌套对象,如desc
,将其视为同一Java对象的一部分,而不是创建一个名为desc
的新POJO
有没有一种方法可以通过序列化名称来查看嵌套的JSON对象
提前谢谢
要转换为POJO的JSON
{
'name': name,
'desc': {
'country': country,
'city': city,
'postal': postal,
'street': street,
'substreet': substreet,
'year': year,
'sqm': sqm
},
'owner': [owner],
'manager': [manager],
'lease': {
'leasee': [
{
'userId': leaseeId,
'start': leaseeStart,
'end': leaseeeEnd
}
],
'expire': leaseExpire,
'percentIncrease': leasePercentIncrease,
'dueDate': dueDate
},
'deposit': {
'bank': 'Sample Bank',
'description': 'This is a bank'
}
}
public class Asset {
private String mId;
@SerializedName("name")
private String mName;
private String mCountry;
private String mCity;
private String mPostal;
private String mStreet;
private String mSubstreet;
private int mYear;
private int mSqm;
@SerializedName("owner")
private List<String> mOwners;
@SerializedName("manager")
private List<String> mManagers;
private List<Leasee> mLeasees;
private DateTime mLeaseExpiration;
private int mPercentIncrease;
private int mDueDate;
private String mDepositBank;
private String mDepositDescription;
定制POJO
{
'name': name,
'desc': {
'country': country,
'city': city,
'postal': postal,
'street': street,
'substreet': substreet,
'year': year,
'sqm': sqm
},
'owner': [owner],
'manager': [manager],
'lease': {
'leasee': [
{
'userId': leaseeId,
'start': leaseeStart,
'end': leaseeeEnd
}
],
'expire': leaseExpire,
'percentIncrease': leasePercentIncrease,
'dueDate': dueDate
},
'deposit': {
'bank': 'Sample Bank',
'description': 'This is a bank'
}
}
public class Asset {
private String mId;
@SerializedName("name")
private String mName;
private String mCountry;
private String mCity;
private String mPostal;
private String mStreet;
private String mSubstreet;
private int mYear;
private int mSqm;
@SerializedName("owner")
private List<String> mOwners;
@SerializedName("manager")
private List<String> mManagers;
private List<Leasee> mLeasees;
private DateTime mLeaseExpiration;
private int mPercentIncrease;
private int mDueDate;
private String mDepositBank;
private String mDepositDescription;
公共类资产{
私有字符串mId;
@序列化名称(“名称”)
私有字符串mName;
私有字符串mCountry;
私密性;
私有字符串mPostal;
私有字符串mStreet;
私有字符串mSubstreet;
私人髓鞘内;
私人内部管理系统;
@序列化名称(“所有者”)
私人名单割草机;
@序列化名称(“经理”)
私人名单管理人;
私人名单;
私有日期时间到期;
私人股本增加;
私有int mDueDate;
私人储蓄银行;
私有字符串mDepositDescription;
}地图描述如何?@saka1029我将走这条路线。对于lease
对象,我也会有一个嵌套的映射。谢谢你的帮助!我遇到了Map
无法序列化/反序列化的问题。我该怎么办?我试过了。它很好用。发生了什么?@saka1029序列化它没有问题,但随后出现了以下错误:java.lang.UnsupportedOperationException:试图序列化java.lang.Class:com.walintukai.watchdog.models.Asset。忘记注册类型适配器?
尝试将其反序列化为json字符串时:new Gson().toJson(asset,asset.class)