1. 程式人生 > >用Gson,將json串直接轉成map

用Gson,將json串直接轉成map

在scala專案開發的工程中,可能會經常有需要解析json串的應用場景。在這裡介紹一種使用Gson()將json直接轉成map的方法。

 

首先,需要新增Gson的依賴

<!-- Gson依賴 -->
<dependency>
	<groupId>com.google.code.gson</groupId>
	<artifactId>gson</artifactId>
	<version>2.8.5</version>
</dependency>

 

程式碼演示

def test():Unit= {
    val requestStr: String = "[{\"name\":\"Johnson\",\"age\":18,\"hobby\":\"basketball\"},{\"name\":\"Jack\",\"age\":20,\"hobby\":\"football\"},{\"name\":\"Johnson\",\"age\":22,\"hobby\":\"swimming\"}]";
    val jsonArray = JSON.parseArray(requestStr)
    println(jsonArray)
    println(jsonArray.getClass)
    for (i <- 0 until jsonArray.size()) {
      val jsonString = jsonArray.getJSONObject(i).toJSONString
      val gson = new Gson()
      var map = new util.HashMap[String, String]()
      map = gson.fromJson(jsonString, map.getClass)
      println("name:" + map.get("name"))
      println("age:" + map.get("age"))
      println("hobby:" + map.get("hobby"))
      println("************************")
    }
}

 

結果展示

name:Johnson
age:18.0
hobby:basketball
************************
name:Jack
age:20.0
hobby:football
************************
name:Johnson
age:22.0
hobby:swimming
************************