首页 > 解决方案 > 如何将字符串中带有双引号的json文件加载到spark scala中的数据框中

问题描述

我有以下 json 文件,我想将其读入数据框,但由于 json 文件在字符串中有双引号,因此我收到错误消息。例如:

数据:{ "Field1":"value"ue 1", "Field2":"value2", "Field3":"va"lu"e3" }

所需的输出” Field1,Field2,Field3 Value1,value2,value2

标签: jsonscalaapache-sparkapache-spark-sqljsonreader

解决方案


您的 json 无效(因为嵌套的双引号),这就是您在使用 Spark 数据源 API 或任何其他 Json 解析器读取文件时出错的原因。

您可以做的是将文件读取为字符串的数据集,然后使用正则表达式清理每个字符串以删除无用的双引号,最后使用“from_json”函数解析每个字符串并从数据集转换数据集[ String] 到数据集[<您的案例类>]。


推荐阅读