2016-04-12 47 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的情況下,它會遍歷每個元素。