json - 将 Object(可以是 int、long、string 等)转换为 Json Circe
问题描述
所以我有一个包含动态字段和值的地图列表。
例如
val sampleMap = List(
Map("field1" -> 1, "field2" -> "helloworld"),
Map("field3" -> "abcd", "field4" -> 123.34212543))
所以基本上,我有一个变量是List[Map[String, Object]]
.
我怎样才能将整个事情转换成 JSON circe?
解决方案
没关系,我找到了答案。
基本上我们需要匹配对象的数据类型并将其转换为 JSON。
def toJson(obj: Object): Json = {
obj match {
case null => Json.Null
case b: java.lang.Boolean => Json.fromBoolean(b)
case i: java.lang.Integer => Json.fromInt(i)
case d: java.lang.Double =>
Json.fromDouble(d).getOrElse(Json.fromDouble(0d).get)
case l: java.lang.Long => Json.fromLong(l)
case t: TemporalAccessor =>
Json.fromString(DtFormatter.format(t))
case u => Json.fromString(String.valueOf(u))
}
}
推荐阅读
- sql-server - 将 SAP nVARCHAR 转换为日期
- keras - 在 keras 回调中使用带有自定义参数的自定义函数
- java - 代码覆盖率导致以下问题
- java - 您能否分析一下关于继承的 JAVA 代码的输出
- ios - 在 ViewController.swift 和 segue 中分配给 UIButton 的属性适用于模拟器但不适用于设备
- stdout - 如何使用 Python/Paramiko 脚本忽略 MOTD 和 Banner 消息?
- android - 从 git 克隆后 Gradle 建立连接超时
- google-apps-script - 如何在谷歌表格图表中显示数据系列标签
- docker - 无法提取图像“levm38/server:latest”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:获取 https://registry-1.docker.io/v2/:EOF
- webots - 控制 Webots 模拟步骤