scala读取复杂gson文件


数据

{
  "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)
}

文章作者: tzkTangXS
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 tzkTangXS !
  目录