我有一列格式错误的嵌套json字符串,我想用regexp_replace
编辑它,这样scala就可以把它作为一个结构体来读取,我想用"
替换Json中的每一项,随机添加了\"
{
{"id": "1", "json": [
{ \"details\": {\n \"name\" : \"john\", \n \"lastname\" : \"doe"\ \n},
\"location\": {\n \"city\" : \"new york\", \n \"country\" : \"usa\" \n} },
{ \"details\": {\n \"name\" : \"jane\", \n \"lastname\" : \"random"\ \n},
\"location\": {\n \"city\" : \"new york\", \n \"country\" : \"usa\" \n} },
] },
{"id": "2", "json": [
{ \"details\": {\n \"name\" : \"jack\", \n \"lastname\" : \"ryan"\ \n},
\"location\": {\n \"city\" : \"york\", \n \"country\" : \"uk\" \n} },
{ \"details\": {\n \"name\" : \"jill\", \n \"lastname\" : \"test"\ \n},
\"location\": {\n \"city\" : \"LA\", \n \"country\" : \"usa\" \n} },
] }
}
我能够删除\n
与regexp_replace
,但我挣扎与\"
Package 每个项目。
var newdf = df.withcolumn( "clean_json",
regexp_replace(regexp_replace(col("json"), "\n", ""), """\"""", "\\\""))
我尝试使用\\\
和"""
作为转义字符。似乎没有任何效果
1条答案
按热度按时间waxmsbnn1#
如果要替换
\
,则应替换为\\\\
。