数据
{
"RECORDS": [
{
"user_id": "10408199",
"user_name": "lym20137109",
"regist_channel": "未知",
"regist_time": "2013-01-30 14:27:02",
"province": "陕西",
"city": "西安",
"platfrom": "未知",
"exam_name": "安全工程师",
"exam_type_name": "建筑工程",
"order_id": "201801101326286",
"child_order_id": "201801101326287",
"product_name": "《建筑施工安全+三门公共课》全科高端班",
"real_pay": "629"
},
{
"user_id": "10408199",
"user_name": "lym20137109",
"regist_channel": "未知",
"regist_time": "2013-01-30 14:27:02",
"province": "陕西",
"city": "西安",
"platfrom": "未知",
"exam_name": "安全工程师",
"exam_type_name": "建筑工程",
"order_id": "201801101326286",
"child_order_id": "201801101326287",
"product_name": "安全工程师全科高端班",
"real_pay": "629"
}
]
}
读取代码
使用GSON读取
package com.tzk.module.test02
import java.io.InputStreamReader
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import java.util
import scala.io.Source
object DemoTest {
def main(args: Array[String]): Unit = {
val source = Source.fromFile("datas/支付数据.json","utf-8")
val reader: InputStreamReader = source.reader()
val gson = new Gson()
//更复杂的情况可以使用这种,比如最外面的json对象不止有"RECORDES"一个,还有别的.反正理论就是一个个嵌套着用
val infos1:util.Map[String,util.List[User]] = gson.fromJson(reader,new TypeToken[util.Map[String,util.List[User]]](){}getType)
println(infos1.get("RECORDS").get(1).user_id)
//本例子里面,用这种就够用了
val infos: Roder = gson.fromJson(reader, classOf[Roder])
println(infos)
val maybeInfoes: util.List[User] = infos.RECORDS
}
case class Roder(RECORDS:util.List[User])
case class User(user_id:String, user_name:String, regist_channel:String, regist_time:String, province:String, city:String, platfrom:String, exam_name:String, exam_type_name:String, order_id:String, child_order_id:String, product_name:String, real_pay:String)
}