【发布时间】:2019-10-26 20:36:38
【问题描述】:
我有一个简单的案例类,我在我的应用程序中使用它,并且在某些时候我将其更改为 json 并将其发送到一些 api 调用,如下所示:
import play.api.libs.json.{Json, OFormat}
object MyClassSer {
implicit val MyClassFormat: OFormat[MyClass] = Json.format[MyClass]
}
import MyClassSer._
case class MyClass(a: String, b: String)
val myClass = MyClass("1", "2")
myApiService.post(Json.toJson(myClass))
我想知道是否有办法将 json 中的 b 更改为 Int,如果我知道它总是会是一个 int 值(但不幸的是在 MyClass 中它必须是字符串)?
所以我将发送{"a": "1", "b": 2}而不是{"a": "1", "b": "2"}
我可以用 JsValue 或 JsObject 做到这一点吗?我不想拥有另一个案例类并将其转换为另一个案例类..
【问题讨论】:
-
你自己已经尝试过什么?代码?
-
我创建了一个新的案例类 MyClassFix(a: String, b: Int) 然后对其进行转换,但我的真实案例类很大,所以我不想要它
-
为什么那是
String如果(至少在某些情况下)那是Int...我会说一开始存在设计问题
标签: scala playframework play-json