Scala-将Map转换为Json,避免使用键/值关键字

问题描述 投票:0回答:1

考虑下面的简单地图:

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:/测试“)))我尝试使用...

json scala gson filewriter file-writing
1个回答
0
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.