2017-05-06 52 views
1

我有一個JSON文件是這樣的:我該如何解析Scala中的JSON文件?

{"ID": "1234566", "Name": "abcd", "Hobby": "run"} 

如何可以解析該文件並獲得ID和業餘愛好?

+0

嘗試使用Json4s - https://github.com/json4s/json4s –

+1

不是一個真正的重複 - 因爲其他問題說說使用內置類,而這是打開使用庫 –

+1

看看http://stackoverflow.com/documentation/scala/2348/json#t=201705061640131000239 – pedrorijo91

回答

0

您可以在Spark中使用sqlContext.read.json(input)來閱讀json文件。

與示例代碼Spark version 1.6.2:

import org.apache.spark._ 
import org.apache.spark.sql.SQLContext; 

object JsonParser { 
    val conf = new SparkConf().setAppName("Spark json extract") 

      // Set this for debug mode on eclipse 
       conf.setMaster("local"); 

    val sc = new SparkContext(conf) 
    val sqlContext = new SQLContext(sc) 

    val input = "C:\\Users\\json_extract\\test1.json" 

    def main(args: Array[String]): Unit = { 
     val df = sqlContext.read.json(input) 
     df.registerTempTable("jsonExtract") 

     val data = sqlContext.sql("select * from jsonExtract") 
     data.show(); 
    sc.stop 

    } 
} 
+1

使用Spark作爲Json解析器是一種重量級。 – Harald

+0

@Harald在大數據集的情況下呢? –