SparkCore解析json資料fastjson
阿新 • • 發佈:2019-02-18
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'