问题标签 [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 - MongoDB ObjectID 作为 JSON 使用 lift-json
我正在为一些 REST API 使用Bowler框架(内部使用 lift-json 模块进行繁重的工作)并具有以下案例类:
当我将此案例对象返回给客户端时,我需要包含 _id 字段的值。但是,_id 列在 Json 输出中作为空列表返回,而不是其实际值。
任何有关如何解决此问题的指针将不胜感激。
更新:我尝试使用自定义序列化程序,但由于某种原因它没有被调用!
parsing - 在 Scala 中使用 lift-json 从解析的 JSON 中渲染 JSON
这可能是一个简单的问题,而我的困难可能是由于我对 Scala 的陌生(它已经迅速成为我最喜欢的语言)。
基本上我有一些看起来像这样的 JSON:
现在,我已将此 JSON 解析到可以从标头(往返)中提取数据并可以查看包中的各个消息的程度。目前我正在使用这个:
这给了我:
但是我想在那个循环中做的是获取每个 Map 并将其转换回 JSON 即:
我已经尝试了 render(m) 和其他各种半随机的东西来尝试让它工作,但到目前为止还没有骰子。我最接近的给了我这个错误:
谁能指出我正确的方向?
提前致谢!
java - 使用 lift-json 实例化基于 json 和元数据的类型
我想反序列化已使用 Lift-json 序列化的 Scala 案例类。我遇到的问题是,我不知道如何调用extractOpt[A]
下面的通用方法方法:
的类型[A]
将取决于元数据,例如类名,[A]
但对于我来说,我无法弄清楚如何使用反射进行调用。在 c# 中,我只能为extractOpt[A]
使用反射的调用设置泛型类型。我担心我的问题与 Java 类型擦除有关。
我将有很多案例类,所以我真的想避免必须从 {metadata} -> classOf[] 创建某种手工制作的地图。我可以完全控制与之关联的元数据someString
。
如果它有助于理解我为什么会遇到这个问题,我正在实现事件溯源,并且我所有的 [A] 类型都将是持久事件。有什么想法我能做什么?
scala - 使用 lift-json 在 scala 中验证 json
在尝试使用 lift-json 编组到案例类之前,我想验证 json 是否包含键/值列表。数据可能是嵌套的。
例如:
有哪些方法可以验证此 JSON 是否包含“姓名”、“年龄”和“地址\街道”的值?假设所有其他字段都是可选的。
抱歉,如果我遗漏了一些明显的东西,但我怀疑以前已经解决了这样的问题。
顺便说一句,有人尝试过Orderly吗? https://github.com/nparry/orderly4jvm
scala - Lift JSON 中的非递归提取以便于理解
我正在使用 Lift JSON 的 for-comprehensions 来解析一些 JSON。JSON 是递归的,因此例如该字段id
存在于每个级别。这是一个例子:
以下代码
产生List(1, 2, 3)
. 我期待它的产品List(1)
。
在我的程序中,这会导致二次计算,尽管我只需要线性。
是否可以使用 for-comprehensions 仅匹配顶级id
字段?
scala - 播放 Diff 所需的框架文件缺失
尝试将lift-json库与scala play一起使用时出现此错误:“无法编译文件。引发的错误是:加载Diff时出错,Diff所需的类文件丢失。包scala的引用类型Serializable是指不存在的符号。”
我在 dependencies.yml 文件中添加了“-net.liftweb -> lift-json 2.9.0-1-2.4”。我不确定是什么导致了这个错误。
json - 使用 lift-json 进行向量反序列化
如何使用 lift-json 将 json 数组反序列化为 scala 向量?
例如:
结果是:
好的。但是当我尝试反序列化这个字符串时
我得到一个例外:
net.liftweb.json.MappingException:解析的 JSON 值与类构造函数不匹配 args=List(Bar1(1), Bar2(5), Bar1(1)) arg types=scala.collection.immutable.$colon$colon 构造函数=public test.Foo(scala.collection.immutable.Vector)
这意味着与 Scala 列表相关联的 json 数组,而不是类 Foo 中定义的向量类型。我知道有办法通过扩展 net.liftweb.json.Serializer 来创建自定义序列化程序并将其包含到格式值中。但是我怎样才能恢复存储在 Vector 中的对象类型。我想得到这样的反序列化结果:
Foo(向量(Bar1(1), Bar2(5), Bar1(1)))
scala - 使用 lift-json 序列化没有字符串作为键的映射
似乎 lift-json 仅限于以字符串为键的地图。
绕过此限制的最佳方法是什么?
json - 序列化 map[A,B] 与 lift-json 知道 A<->String
我想用 Lift-json 序列化一个 HashMap[Coord,Unite] 类型的 HashMap。这些类型特定于我的项目,但有 Coord -> String 和 toString 函数,我可以从 String 返回我的 Coord(即使它没有在这里编码,但那不相关)。所以我想我可以让 lift-json 序列化 Map[String,Coord] 但是在这里 serialize(format)(y) 当我希望它使用适用于的序列化函数时尝试应用相同的函数(以递归方式)地图[字符串,坐标]。我不能在 Serializer 之外进行转换的原因是因为这个 HashMap 是更大案例类的一部分,所以我需要 lift-json 来知道如何序列化和反序列化它。
我可以重写 Map[String,Unite] 的序列化和反序列化,但这将是很多无用的代码,因为我不明白 lift-json 是如何工作的。
json - 在Scala中使用lift-json反序列化时忽略字段
我如何将这样的数据反序列化为这样的案例类:
(也就是说,案例类的构造函数参数少于 JSON 的值)
我尝试创建一个 FieldSerializer 来做到这一点,但我只能弄清楚如何在序列化时忽略字段,而不是反序列化。