【发布时间】:2020-11-02 12:48:56
【问题描述】:
请帮助我从以下输出创建正文请求:
{
"categories": [
{
"categoryId": "4654-456465-4564",
"fields": {
"4564654-454646-4564": "Ano",
"4564654-454646-4561": "Super"
}
}
],
"lastUpdate": "1231",
"controlStructureId": "4654-456465-4564",
"controlId": "4654-456465-4564",
"vehicleId": "4654-456465-4564"
}
我的代码在这里,但它不正确,因为我在 * fields* 部分中有不需要的 [ ]
public void testPOST() {
Map<String, Object> jsonBodyUsingMap = new HashMap<String, Object>();
jsonBodyUsingMap.put("categories", Collections.singletonList(new HashMap<String, Object>() {
{
put("categoryId", "4654-456465-4564");
put("fields", Arrays.asList(new HashMap<String, Object>() {{
put("4564654-454646-4561", "Super");
put("4564654-454646-4564", "Ano");
}}
));
}
}
));
jsonBodyUsingMap.put("lastUpdate", "1231");
jsonBodyUsingMap.put("controlStructureId", "4654-456465-4564");
jsonBodyUsingMap.put("controntrolId", "4654-456465-4564");
jsonBodyUsingMap.put("vehicleId", "4654-456465-4564");
【问题讨论】:
-
fields必须是Map<String, Object>而不是Array。所以不需要Arrays.asList(...),只需使用您已经创建的HashMap。但是您可能应该使用专用的 JSON 库,例如 Jackson
标签: api rest-assured