Arrays 如何将数组[Row]放入JSON字符串
我有Arrays 如何将数组[Row]放入JSON字符串,arrays,json,scala,apache-spark,Arrays,Json,Scala,Apache Spark,我有Array[Row]调用arr(我是在df.collect()之后获得的),我想将其作为键和值对传入JSON字符串: val result = """{"field1": "A", "arr": [""" + arr + """]}""" 应该是: {"field1": "A", "arr": [ {"name":"Ford", "model": "Fiesta"}, {"name":"Ford", "model": "Mustang"}, ...
Array[Row]
调用arr
(我是在df.collect()
之后获得的),我想将其作为键和值对传入JSON字符串:
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()
您应该按照philantrovert在问题评论中的建议,使用.toJSON
执行以下操作
val result = """{"field1":"A","arr":"""+df.toJSON.collectAsList()+"""}"""
如果使用的是arr
变量,则可以执行以下操作
val arr = df.toJSON.collectAsList()
val result = """{"field1":"A","arr":"""+arr+"""}"""
为什么不使用来使用json
(使用数据帧)或来使用rdd来使用json
?df.collect()。我该怎么处理它?