Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jerkson反序列化Json时缺少字段的默认值_Json_Scala_Jackson - Fatal编程技术网

使用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类

使用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类的参数中设置一个默认值是可能的,但是运气不好

请查看我为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进行编译。