1. 程式人生 > >SparkCore解析json資料fastjson

SparkCore解析json資料fastjson

import com.alibaba.fastjson.JSON
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD

objectsimple {
def main(args: Array[String]) {
  val conf = new SparkConf().setAppName("WordCount").setMaster("local")
 val sc = new SparkContext(conf)
  val file = sc.textFile("E:\\aa.json"
) file.foreach { myrecord =>//注意map有返回值,但是foreach沒有返回值 val json = JSON.parseObject(myrecord) //獲取成員 val fet = json.get("name") println(fet) //println(vtm) //返回多級成員 val client = json.getJSONObject("goodsproperties").get("phoneNumber") println(client) } sc.stop() }
}

Json:scala解析json字串,獲取多級key(2)
import com.alibaba.fastjson.JSON

object Test{
  def main(args: Array[String]): Unit = {

    val json = "{\"user_details\":{\"data_column\":\"suuid\"},\"fliter\":{\"event\":\"where event='PageView' or event='ExEvent' or event='Consumption'\"}}"

    //獲取一級key,以及值
    println(JSON.parseObject(JSON.parseObject(json).get("user_details").toString))

    //獲取二級key,以及值
    println(JSON.parseObject(JSON.parseObject(json).get("user_details").toString).get("data_column").toString)

    //獲取一級key,以及值
    println(JSON.parseObject(JSON.parseObject(json).get("fliter").toString))

    //獲取二級key,以及值
    println(JSON.parseObject(JSON.parseObject(json).get("fliter").toString).get("event").toString)
  }
}
執行結果:
{"data_column":"suuid"}
suuid
{"event":"where event='PageView' or event='ExEvent' or event='Consumption'"}
where event='PageView' or event='ExEvent' or event='Consumption'