我Array[Row]
调用arr
(我在df.collect()
之后获得),我希望将{J}字符串作为key
和value
对传递:val result = """{"field1": "A", "arr": [""" + arr + """]}"""
{"field1": "A", "arr": [
{"name":"Ford", "model": "Fiesta"},
{"name":"Ford", "model": "Mustang"},
...
]}
应该是:
arr.get(i).get(arr.get(i).fieldIndex("field1")).toString()
如果我按照上面显示的方式进行操作,它将无效。
我应该迭代这个数组并手动定义每个参数吗?:
{{1}}
答案 0 :(得分:1)
您应该按照 philantrovert 的建议在问题评论中使用.toJSON
进行以下操作
val result = """{"field1":"A","arr":"""+df.toJSON.collectAsList()+"""}"""
如果您使用arr
变量,则可以执行
val arr = df.toJSON.collectAsList()
val result = """{"field1":"A","arr":"""+arr+"""}"""