scala 2.2 gson解析json转成任意bean代码
时间: 2023-10-19 13:25:24 浏览: 97
json转换bean
在Scala 2.12中使用Gson解析JSON并将其转换为任意Bean对象的示例代码如下:
```scala
import com.google.gson.Gson
case class Person(name: String, age: Int)
val json = """{"name": "Alice", "age": 30}"""
val gson = new Gson()
val person: Person = gson.fromJson(json, classOf[Person])
println(person)
```
这个示例代码将JSON字符串`{"name": "Alice", "age": 30}`解析为一个`Person`对象,然后打印出来。在这个例子中,我们使用了Gson的`fromJson`方法来将JSON解析为一个`Person`对象。我们还使用了`classOf`来获取Person类的实际类型。
如果你想解析任意类型的Bean对象,可以使用Gson的`TypeToken`类来获取泛型类型的实际类型。例如,如果你想解析一个`List[Person]`类型的JSON字符串,可以按照下面的方式使用`TypeToken`:
```scala
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
case class Person(name: String, age: Int)
val json = """[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 40}]"""
val gson = new Gson()
val personType = new TypeToken[List[Person]] {}.getType()
val persons: List[Person] = gson.fromJson(json, personType)
println(persons)
```
这个示例代码将JSON字符串`[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 40}]`解析为一个`List[Person]`对象,然后打印出来。在这个例子中,我们使用了Gson的`fromJson`方法来将JSON解析为一个`List[Person]`对象。我们还使用了`TypeToken`来获取泛型类型`List[Person]`的实际类型。
希望这可以帮助到你!
阅读全文