问题标签 [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 - Salat 没有反序列化映射到 Option[Set[A]] 的集合
我在 scala-salat Google group 中问了这个问题,但几天没有回复,因此在这里尝试。
我有一个案例类,其中包含一个包含在Option
.
该文档可以很好地存储在 Mongo 中。但是,当我尝试使用findOne
(使用或不使用SalatDAO
)来获取此地址时,addresses 字段具有表示地址的 JSON 文本,而不是 Address 案例类。
结果,Lift-JSON 跳过了我的案例类Option[Collection[A]]
中的任何字段。当我删除Option
并使用时addresses=Set[Address]()
,它可以工作。但是,现在我的 JSON 中没有数据的结果是空集,如果消费者删除了条目,我无法找到更新,或者我得到一个空集Set
,因为消费者没有发送这个字段原始请求。
使用Option
会将字段设置为None
,这意味着我不必担心它是空的或被修改。
任何帮助将不胜感激。
scala - Lift-json 将带有“类型”字段的 json 提取到案例类中
我正在尝试使用 lift-json 将 JSON 提取到案例类中。这是我的案例类:
这是json
如何将type
字段提取到实例中Person
?
json - 组合类中的多态提升 json 反序列化
我正在尝试使用 Lift-Json 将 json 对象自动反序列化为 scala 类,其中的坐标类用于存储 GeoJson 信息。
我想反序列化这样的json字符串:
在 Geometry 字段中使用正确的 LineString 运行时类进入请求案例类。我想我应该使用 TypeHint 但如何?这是正确的方法还是应该创建三个不同的请求(RequestPoint、RequestLineString 和 RequestPolygon)?这将是反序列化的 Scala 代码:
mongodb - 使用 Casbah 将 lift-json JValue 转换为 MongoDBObject?
我正在尝试将 lift-json 的 JValue 中解析的 JSON 文档转换为 Casbah MongoDBObject - 有没有办法做到这一点?
string - 如何将 JSON JString 值转换为 Lift 中的普通字符串?
如果我jString : JString
调用. "abc"
_ 我该如何取而代之?"JString(abc)" : String
jString.toString
"abc" : String
json - 使用 lift-json 解析文档片段
当我可能不知道我正在解析的文档的确切结构和顺序时,我正在尝试使用 lift-json 解析 JSON 文档。该文档包含“对象”列表,所有对象都组织成该对象类型的部分,每个部分都以该类型命名。我尝试了各种方法来循环类型,对类型名称进行模式匹配,然后尝试获取该对象列表,但它似乎永远无法正常工作。我要么得到一个空白列表,要么得到一个关于无法找到正确的 JSON 块来映射到我的案例类的错误。
这是一些(几乎是伪)代码,与我来的一样接近:
“地址”、“姓名”和“电子邮件”可以在“查询”中以任意顺序出现,并且它们的数量可能不定。
最后,我希望能够为相应的类型列表提取对象列表,然后在解析完成后,将各种对象列表传递给适当的方法。
所以,问题是:如果我提前不知道完整的文档结构是什么,我如何才能解析成 lift-json 中的案例类。
json - 有没有办法让 lift-json 将数字字符串字段自动转换为数字类型?
我正在使用 lift-json 从 POST 请求中反序列化简单对象。例子:
类定义:
然后我用
read[Topic](jsonString)
是否可以让 json-lift 自动将 id 读取为 Long ?
json - 将 json-lift 与 play 一起使用,省略的 Option 字段会破坏反序列化
我的理解是 json-lift 支持开箱即用的选项字段。
这是一个示例对象定义:
然后我net.liftweb.json.Serialization.read[Topic](jsonString)
用来读取对象
如果传入 JSON 中的所有字段都存在,则反序列化工作正常。但是,如果我省略选项字段:
对象返回时所有字段都设置为空。
另一个有趣的事实:只有当代码位于 play 应用的 app 目录下时才会出现问题。如果我们将它放在其他地方并作为罐子包含在内,它就可以正常工作。
有人认为这是 Scala 2.8 的问题(我们使用的是 Play 1.2.3 / Akka 1.0,并且限制使用最新的 Scala)。
任何帮助,将不胜感激...
scala - 当 json 是可变的时,使用 scala lift-json 提取案例类
我正在尝试提取以下 json 值
我有以下案例类
但是对于lift-json,只有带有多个项目的JSON示例似乎有效,单个项目会抛出。
有针对这个的解决方法吗?
json - 如何从映射器持久类提供 Lift/Scala Json Web 服务
好的,首先我是在这里发布问题的新手,所以请放轻松。
我觉得我已经浏览了互联网来解决这个问题,而且我肯定会很慢,因为我无法做到这一点 - 我知道这应该很简单。
我有一堂课:
该对象有一些辅助方法和其他一些我拼凑起来的东西,试图让它工作:
我的休息服务正在做基本的事情,并与此相匹配:
所以令我高兴的是,它起作用了,我得到了匹配..并返回 Json,问题是:假设我在数据库中有 3 行具有生产类型:a,如果我用 'a' 调用服务,它会返回:
所以它正在返回,它只是没有序列化任何数据......我已经尝试重载 unapply 方法并试图弄清楚案例类是否可以帮助我 - 但它并没有点击我虚弱的头脑。有什么帮助吗?