首页 > 解决方案 > 如何使用 get_json_object 从 json 字符串中检索多个 json 字段

问题描述

我正在使用 Scala 编程语言。我有一个很大的 json 字符串。我想根据它的路径从中提取一些字段。我想根据输入集合 Seq[Field] 提取一堆字段。所以我需要多次调用函数get_json_object。我如何使用 get_json_object 来做到这一点?有没有其他方法可以实现这一目标?

当我做

var json: JSONObject = null
val fields = Seq[Field]() // this has field name and path 

var fieldMap = Map[String, String]()
for (field<- fields) {
  fieldMap += (field.Field -> get_json_object(data, field.Path))
}

我明白了Type mismatch, expected: Column, actual: String

当我在上面的代码中做 lit(data) 时。例如

get_json_object(lit(data), field.Path))

然后我得到

found   : org.apache.spark.sql.Column
[ERROR]  required: String

标签: jsonscalaapache-spark-sql

解决方案


推荐阅读