3
我正在嘗試在使用json4s的Scala應用程序中生成JSON。相當簡單,下面是一些樣本值我放在一起,以測試它在我的Scalatra的應用程序:使用json4s在Scala應用程序中生成json
import org.json4s._
import org.json4s.JsonDSL._
object JsonStub {
val getPeople =
("people" ->
("person_id" -> 5) ~
("test_count" -> 5))
}
在我的控制,我只是有:
import org.json4s._
import org.json4s.JsonDSL._
import org.json4s.{DefaultFormats, Formats}
class FooController(mongoDb: MongoClient)(implicit val swagger: Swagger) extends ApiStack with NativeJsonSupport with SwaggerSupport {
get ("/people", operation(getPeople)) {
JsonStub.getPeople
}
}
輸出我看到在瀏覽器然而,如下:
{
"_1": "people",
"_2": {
"person_id": 5,
"test_count": 5
}
}
任何線索,其中_1
和_2
密鑰來自哪裏?我期待這個輸出,而不是:
{
"people":{
"person_id": 5,
"test_count": 5
}
}
這樣做本,非常感謝。任何提示,我怎麼能想出這一個沒有發佈在這裏呢? :-)在這裏也許有一種方法可以將我所有的值都默認爲JValue,只是不完全確定如何。 – randombits
如果你想要類型安全的開發,我的專業提示是不使用Scalatra。除此之外,爲API的公共成員指定返回類型總是一個好主意,尤其是*在依賴含義時。 –
有沒有辦法告訴json4s明確地進行轉換?我遇到了同樣的事情,我寧願不用用JValues來拋棄我的模型類。 –