问题标签 [lift-json]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 基于类型字段将 JSON 反序列化为多态类型
我正在使用 lift-json 2.6 和 Scala 2.11。
我想将表示“传感器”映射到案例类的 JSON 字符串反序列化(我根本不关心序列化回 JSON):
我在这里拥有的是每个传感器类中的一些公共字段,具有类型相关的字段,由属性state
区分sensorType
这个想法是我调用 Web 服务并获取传感器信息的地图,这可以是任意数量的任何类型的不同传感器。我事先知道可能的类型集,但我事先不知道将返回哪些特定传感器。
JSON 看起来像这样:
(真实数据有更多字段,以上案例类和JSON是精简版。)
要使用我开始的 JSON:
当然,当我省略state
字段时,这有效。
如何state
根据字段的值告诉提取过程在运行时选择哪种类型sensorType
?还是我必须编写自定义反序列化器?
这个问题专门与 lift-json 相关,而不是任何其他 JSON 库。
scala - 解除 JSON JValue 提取问题
我正在处理混合类型的情况并尝试使用将 Jv 转换为 List[Strings]
提取不起作用。
有人能告诉我我该怎么做吗
scala - 是否可以在 Scala 中序列化非案例类?
是否可以使用 Json4s 或 Lift 或任何其他库来序列化以下类的对象?
scala - Scala:部分函数错误:如果要将其视为 PartialFunction,请使用 _
以下代码不起作用: FileSystems.getDefault.getPath 来自 java.nio 包
更新:
方法 createCalculation 是:
注意:MyLocation 是一个扩展 MyMessage 的案例类
//Req 是来自的类:net.liftweb.http.Req
编译器这样抱怨:
这是 fromJsonVal 的方法定义
JValue 来自 net.liftweb/json 并且是:sealed abstract class JValue()extends java.lang.Object with net.liftweb.json.Diff.Diffable { <> }
更新:编译器报告错误在这行代码中
你认为我应该如何纠正这个编译错误?
json - 提升 json :net.liftweb.json.MappingException:未知错误
我有一个名为 Inbox 的类,其中包含一个 Int 和一个消息列表,Messages 是另一个类,所以问题是我想将 Inbox 类存储在 MongoDB 中,因为我必须对其进行序列化,所以我使用 lift json 。但它抛出异常关于反序列化
这是我的代码
消息类是
以下输出打印在控制台上
请帮助我如何解决这个问题
java - 如何在 Lift JSON 中序列化和反序列化 Java 8 dateTime?
我有一个我想先序列化的案例类。然后在那之后,我想反序列化它以在 MongoDB 中存储目的,但 java 8LocalDateTime
正在产生问题。我从这个链接中获得了帮助:
how to deserialize DateTime in Lift
但没有运气。我无法为 java 8 日期时间编写它。有人可以帮我解决这个日期时间问题吗?这是我的代码:
这是控制台上打印的错误消息:
如果我从案例类中删除 dateTime 参数,它工作正常。似乎问题出在日期时间。
json - 如何在类中设置属性值并使用lift json将其转换为json
我有一个名为的类Child
,我想使用 Lift Json 将其转换为 JSON。一切正常,但问题是我正在通过 Scala 设置器设置属性的值,但这个新值没有存储在 Json 中。
这是代码:
控制台上打印的输出是:
number1
子类转换为字符串{"str":"Mary","Num":5,"MyList":[1,2],"myDate":{}}
Child 的对象是 Child1(Mary,5,List( 1, 2),2015-07-24T14:04:09.266+05:00)
strMary
Num5
MyListList(1, 2)
myDate2015-07-24T14:04:09.266+05:00
编号 555
为什么obj.number
显示价值555
?它应该打印1
。
java - 如何为 Java 8 LocalDateTime 编写自定义序列化程序
我有一个名为的类Child1
,我想使用 Lift Json 将其转换为 JSON。我使用的一切工作正常,joda date time
但现在我想使用 Java 8 LocalDateTime
,但我无法为此编写自定义序列化程序,这是我的代码
LocalDateTime
现在我想像这样 使用Java 8
我需要在我的自定义序列化程序类中进行什么修改Child1Serializer
我试图这样做但我无法做到请帮助我
java - lift json:java 8 LocalDateTime 的自定义序列化程序抛出映射异常
我有一个名为 child2 的类,我想对其进行序列化和反序列化我的类包含一个 LocalDateTime 属性,我必须为其编写一个自定义序列化程序,我尝试使用这两种解决方案,但两者都抛出异常这是我的代码
解决方案 1
和它的投掷mapping exception
解决方案 2
它也抛出映射异常
请帮助我如何解决这个问题。我应该如何为 java 8 LocalDateTime 编写序列化程序
json - Lift JSON:如何将元组列表转换为 JsonAST?
以下代码生成一个 List[JsonAst.JObject]:
这个没有。它产生 List[(String, Int)]:
如何将此 List[(Int, Int)] 转换为 JSON?