gpt4 book ai didi

json - 将任何Scala对象转换为JSON

转载 作者:行者123 更新时间:2023-12-03 15:01:15 25 4
gpt4 key购买 nike

我正在使用最新版本的Play Framework,并且它是JSON库,例如Json.toJson(obj)。但是toJson不能将任何Scala对象转换为JSON,因为数据的结构是未知的。有人建议使用大小写转换,但是这里我的Scala知识不足。数据来自数据库,但表的结构未知。

我应该在哪里进一步寻找将此类未知数据结构转换为JSON的方法?

最佳答案

鉴于您要序列化为JSON的类型数量有限,因此应该可以使用:

object MyWriter {
implicit val anyValWriter = Writes[Any] (a => a match {
case v:String => Json.toJson(v)
case v:Int => Json.toJson(v)
case v:Any => Json.toJson(v.toString)
// or, if you don't care about the value
case _ => throw new RuntimeException("unserializeable type")
})
}


然后可以通过在要序列化 Any的位置导入隐式值来使用它:

import MyWriter.anyValWriter
val a: Any = "Foo"
Json.toJson(a)

关于json - 将任何Scala对象转换为JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22985098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com