Scala + Play:将Map序列化为Json数组

时间:2016-04-12 15:08:42

标签: json scala playframework

想象一下,你有一个Map [String,List [String]],如下所示:

val myMap = Map(
   "ab" -> List("yo", "yo2", "yo3"),
   "cd" -> List("hi", "hi1", "hi2")
 )

如果我们执行Json.toJson(myMap),生成的JSON是

 {
   "ab" : ["yo", "yo2", "yo3"],
   "cd" : ["hi", "hi1", "hi2"]
 }

有没有办法让外部容器成为数组而不是对象?像

 [
   "ab" : ["yo", "yo2", "yo3"],
   "cd" : ["hi", "hi1", "hi2"]
 ]

我不确定这是否有效Json。感谢。

1 个答案:

答案 0 :(得分:1)

最后一个是无效的JSON。您可以使用Json.toJson(myMap.toList)获取@Tyth已回答的结果。 实际上Map类似于JSON格式的Object,因为它提供了按键提取值。如果是Array,则会在每个元素上重复迭代。