2016-04-12 48 views
0

假设你有一个地图[字符串,列表[字符串],看起来像这样:斯卡拉+播放:序列化映射到JSON数组

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

不,这不是一个有效的Json。您可以获得一组对象:[{“ab”:[]},{“cd”:[]}]。这是你需要的吗? – Tyth

+0

@Tyth大概是的! – ticofab

回答

1

最后一个是无效的JSON。您可以使用Json.toJson(myMap.toList)获得结果,因为@Tyth已回答。 其实Map类似于JSON格式的Object,因为它提供按键提取值。在Array的情况下,它会遍历每个元素。