考虑下面的简单地图:
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。
请考虑以下简单地图:val myTable:Map [String,Any] = Map(“ Table1”-> Array(Map(“ date”->“ 2019”),Map(“ FilePath”->“ C:/测试“)))我尝试使用...
尝试一下: