用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
************************

猜你喜欢

转载自blog.csdn.net/Johnson8702/article/details/82222499
今日推荐