使用gson将Json字符串反序列化为嵌套对象,为Java中的最内层字段提供空值

时间:2015-08-06 07:07:36

标签: java json gson deserialization

我正在使用Gson构建器将json字符串反序列化为我的对象。我有一个包含列表的对象,该列表包含原始字段以及复杂对象。反序列化后,将填充原始字段,但所有复杂字段都为空。这是我的JSON字符串:

{
    "branchCode": "000",
    "debitAccountName": "qwerty",
    "debitBankId": "12",
    "paymentInst": [
        {
            "amountPriority": "PC",
            "bankBranchCode": "444",
            "counterParty": {
                "beneficiaryCode": "xyz"
            },
            "creditAccNo": "998877",
            "debitCurrencyCode": "USD",
            "paymentAmount": 100,
            "MiscDetail": {
                "charge": "OUR",
                "debitCode": "000",
                "invoiceAmount": 120
            },
            "Product": {
                "productCode": "IFT"
            }
        }
    ],
    "totalUnitAmount": 100.00
}

创建对象时,MiscDetails,counterParty和product字段为空,其余设置正常。所有课程都是非抽象的。

1 个答案:

答案 0 :(得分:0)

好的,我终于找到了自己的答案。我最初没有注意到,但我正在使用transient关键字来填充未填充的字段。 根据定义,transient表示无法序列化。