2017-05-06 24 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在大数据集的情况下呢? –