簡體   English   中英

從黃瓜功能文件更新 json 有效負載的最佳方法

[英]Best way to update json payload from cucumber feature file

我有一個復雜的 Json,它的作用類似於 Web 服務的輸入。 我已經為它創建了必要的 POJO 類,並且在我的代碼中使用了 Jackson 對象映射器。

從黃瓜數據表中更新部分 Json 數據的最佳方法是什么?

提前致謝 !!!

原始Json:

{
    "accNum": "Dummy_Account",
    "customerData": {
        "customerName": "Dummy_Name",
        "customerAddress": "Dummy_Address"
        
    },
    "accountData": {
        "cashAccountRef": "Dummy",
        "acntCrncy": "EUR",
        "foreignCurrencyAccounts": [
            {
                "foreignCurrency": "USD",
                "foreignCrncyAcntRef": "Dummy2"
                
            }
        ]
    }
    ]
}

黃瓜功能文件

Given Prepare Input request for below data
      | accNum                                                 | 12345   |
      | customerData.customerName                              | New Name|
      | accountData.foreignCurrencyAccounts[0].foreignCurrency | EUR     |

要作為輸入傳遞的最終 Json

{
    "accNum": "12345",
    "customerData": {
        "customerName": "New Name",
        "customerAddress": "Dummy_Address"
        
    },
    "accountData": {
        "cashAccountRef": "Dummy",
        "acntCrncy": "EUR",
        "foreignCurrencyAccounts": [
            {
                "foreignCurrency": "EUR",
                "foreignCrncyAcntRef": "Dummy2"
                
            }
        ]
    }
    ]
}

如果您使用的是 POJO,請堅持使用這種方法。 使用 setter 來更新 key 的值,當然你也可以使用 builder 風格的 setter 讓它更容易閱讀。

我發現只有這樣

((ObjectNode) parent).putRawValue(valueOfKeyToModify, new RawValue(newValue));

當有許多相同的鍵時,就會出現問題。 然后您需要閱讀樹並繞過它,直到它與需要更改的鍵完全匹配。

如果你需要放置字符串,那么你還必須指定引號,因為它放置了原始值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM