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)