api的用戶發送一個這樣的json:
{ "0": "3?", "1": "5?", "2": "4?",“3”: “9?”, … }
我試圖將每個索引的值 (3?,5?,4?,9?) 保存在串列中。
我現在只有 POST 方法,但我不知道如何閱讀它)或者我不知道我是否需要使用另一種型別的請求
@RequestMapping(value="/start", method = RequestMethod.POST, consumes= "application/json" )
public String getData(@RequestBody ?? ) { }
先感謝您
uj5u.com熱心網友回復:
試試下面
@RequestMapping(value="/start", method = RequestMethod.POST, consumes= "application/json" )
public String getData(@RequestBody HashMap<String, String> data) {
List<String> result = new ArrayList<>();
for (String val: data.values()){
result.add(val);
}
}
我們將用戶輸入存盤到 aHashMap中,然后在for回圈中提取其值。您當然可以將回傳的資料收集到您選擇data.values()的一個ArrayList或任何集合中以避免for回圈。
EntrySet如果您需要兩者都可以使用key,value如下所示
for (Map.Entry<String, String> entry : data.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
// ...
}
uj5u.com熱心網友回復:
試試這個:
@PostMapping("/saveData")
public ResponseEntity<String> saveData(@RequestBody Map<Integer, Object> data) {
List<Object> values = new ArrayList<>();
data.forEach(values::add);
//Additonal code here, e.g. save
return ResponseEntity.ok().build();
}
@RequestBody Map<Integer, Object>確保索引始終為整數。值型別可以更改為字串。如果索引不是 int,將回傳 400 Bad Request。索引必須是正整數。
您還可以使用更長的符號來向串列中添加元素(可能更清楚):
data.forEach((key, value) -> values.add(key, value));
For this payload:
{
"0": "3?",
"1": "5?",
"2": "4?",
"3": "9?"
}
結果是這樣的:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/463020.html
上一篇:N1QL搜索物件內的某些物件
