使用Jerkson反序列化Json时缺少字段的默认值
使用Jerkson库解析Json时,请遵循文档中的示例:使用Jerkson反序列化Json时缺少字段的默认值,json,scala,jackson,Json,Scala,Jackson,使用Jerkson库解析Json时,请遵循文档中的示例: case class Person(id: Long, name: String) parse[Person]("""{"id":1,"name":"Coda"}""") //=> Person(1,"Coda") 如果我尝试反序列化不同时包含id和name字段的Json,则会抛出一个错误,表示需要它们。有没有一种方法可以设置它,以便在解析了个人的以下Json时: {"id":2} 名称字段可以默认为John。我认为在case类
case class Person(id: Long, name: String)
parse[Person]("""{"id":1,"name":"Coda"}""") //=> Person(1,"Coda")
如果我尝试反序列化不同时包含id和name字段的Json,则会抛出一个错误,表示需要它们。有没有一种方法可以设置它,以便在解析了个人的以下Json时:
{"id":2}
名称字段可以默认为John。我认为在case类的参数中设置一个默认值是可能的,但是运气不好请查看我为Jerkson库所做的。它增加了对case类默认参数的支持
不过,请注意用户ksvladimir的评论,我还没有时间将其添加到pull请求中。当我更新这个答案时,我会更新这个答案。看看我为杰克森图书馆做的这个。它增加了对case类默认参数的支持
不过,请注意用户ksvladimir的评论,我还没有时间将其添加到pull请求中。当我更新这个答案时,我会更新这个答案。谢谢,看起来你和我的想法一样:。我会注意一下拉车的请求。同时,对于处理参数可能是可选的情况的策略,您有什么建议吗?高兴的是:您可以始终将自定义jerson绑定到您的应用程序中,直到它们合并。请查看我的分支,应用ksvladimir的mods,sbt包,将JAR复制到lib,并确保从build.sbt中删除Jerkson依赖项,以便使用lib中的依赖项。抱歉,我一直在度假,所以刚刚看到了这个。谢谢你,我会试一试的!设法抽出时间来试试这个。克隆您的回购协议,然后使用maven构建,因为sbt正在抱怨jackson的依赖性。。。。在lib中删除了jar并删除了jerkson依赖项。现在它不会编译,因为缺少解析器所需的:[error]类文件。[错误]包组织的参考值codehaus引用了不存在的符号。有什么想法吗?对不起,我在挣扎!它是用codahale repo的jar编译的。谢谢,看起来你和我的想法一样:。我会注意一下拉车的请求。同时,对于处理参数可能是可选的情况的策略,您有什么建议吗?高兴的是:您可以始终将自定义jerson绑定到您的应用程序中,直到它们合并。请查看我的分支,应用ksvladimir的mods,sbt包,将JAR复制到lib,并确保从build.sbt中删除Jerkson依赖项,以便使用lib中的依赖项。抱歉,我一直在度假,所以刚刚看到了这个。谢谢你,我会试一试的!设法抽出时间来试试这个。克隆您的回购协议,然后使用maven构建,因为sbt正在抱怨jackson的依赖性。。。。在lib中删除了jar并删除了jerkson依赖项。现在它不会编译,因为缺少解析器所需的:[error]类文件。[错误]包组织的参考值codehaus引用了不存在的符号。有什么想法吗?对不起,我在挣扎!它使用codahale repo中的jar进行编译。