【发布时间】:2020-02-05 06:35:59
【问题描述】:
考虑下面的简单地图:
val myTable:Map[String,Any] = Map(
"Table1" -> Array(
Map("date" -> "2019"),
Map("FilePath" -> "C:/Test")
))
我尝试使用以下命令将其写入 JSON 文件:
import java.io.{File,FileWriter,Writer}
import org.apache.spark.sql.SparkSession
import com.google.gson.Gson
import com.google.gson.GsonBuilder
val gson: Gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create()
val json = gson.toJson(myTable)
val w: Writer = new FileWriter("C:/Test/output.json")
w.write(json)
w.close()
我在 json 文件中得到的内容如下:
{
"key1": "Table1",
"value1": [
{
"key1": "date",
"value1": "2019"
},
{
"key1": "FilePath",
"value1": "C:/Test"
}
]
}
我想知道是否可以排除“key1”、“value1”字样,而是将它们的实际值打印到文件中(请参阅下面的结构):
{
"Table1": {
"date": "2019",
"FilePath": "C:/Test"
}
}
如果相关,我使用的是 maven 而不是 sbt。
【问题讨论】:
标签: json scala gson filewriter file-writing