2017-03-08 41 views
1

我需要使用List [Long]中的JsArray創建JsObject。我雖然有什麼東西叫JsLong使用列表中的JsArray創建JSObject [Long]

def someWork(someList: List[Long]): JsObject = { 
    JsObject(("someField", JsArray(someList.map(JsLong))) :: Nil) 
} 

當然沒有。任何建議如何創建它?

+0

JSON沒有整數類型,這就是爲什麼你通常不會在JSON框架中找到它。 – Simon

回答

0

JavaScript/JSON中只有一種數字類型,即Number。看起來你正在使用Play-JSON,它有JsNumber,它可以用BigDecimal構建。 (只需將Long轉換爲BigDecimal)。

import play.api.libs.json._ 

def someWork(someList: List[Long]): JsObject = { 
    Json.obj(
    "someField" -> JsArray(someList.map(a => JsNumber.apply(BigDecimal(a)))) 
) 
} 

scala> someWork(List(1, 2, 3, 4)) 
res0: play.api.libs.json.JsObject = {"someField":[1,2,3,4]}