網頁

2018/4/2

轉換JSON字串為Java List<Map<String, String>>物件 by Gson

把json字串(json string)轉換為Java List<Map<String, String>>物件的方法如下。

例如前端JavaScript透過JQuery.ajax()送出下面的json字串。

var obj = [{"name":"matt"},{"name":"john"}];
var jsonString = JSON.stringify(obj);

Controller收到json字串,可使用GsonfromJson(String json, Type typeOfT)方法來轉換成List<Map<String, String>>

import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
...

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
...

  @PostMapping(value="/json", consumes= MediaType.APPLICATION_JSON_VALUE, produces=MediaType.TEXT_PLAIN_VALUE)
  public String json(@RequestBody String jsonString) {
    
    Type listType = new TypeToken<List<Map<String, String>>>() {}.getType();
    List<Map<String, String>> list = new Gson().fromJson(jsonString, listType);
    ...
    return "success";
  }

參考:

沒有留言:

張貼留言