如何将字符串中带有双引号的json文件加载到spark scala中的数据框中

Posted

技术标签:

【中文标题】如何将字符串中带有双引号的json文件加载到spark scala中的数据框中【英文标题】:How to load a json file which is having double quotes within a string into a dataframe in spark scala 【发布时间】:2021-11-13 21:54:54 【问题描述】:

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

数据: "Field1":"值"ue 1", "字段2":"值2", “字段3”:“va”lu“e3”

所需的输出" 字段 1、字段 2、字段 3 值1,值2,值2

【问题讨论】:

字符串从何而来?目前它不是有效的 json 【参考方案1】:

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

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

【讨论】:

以上是关于如何将字符串中带有双引号的json文件加载到spark scala中的数据框中的主要内容,如果未能解决你的问题,请参考以下文章

Impala Shell 查询 -q 在字符串中带有双引号

解决json string转object,value值存在英语双引号,无法解析问题。以及遇到value值中有双引号,如何解析成功。

解决json string转object,value值存在英语双引号,无法解析问题。以及遇到value值中有双引号,如何解析成功。

js双引号里面有双引号再里面有双引号怎么写,

json中可以放中文双引号吗

请教jsonJSON.parse中双引号如何解决