Рассмотрим простую карту ниже:
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.