Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
面对scala.util.parsing.json.\uu包的弃用,应该使用什么?_Json_Scala - Fatal编程技术网

面对scala.util.parsing.json.\uu包的弃用,应该使用什么?

面对scala.util.parsing.json.\uu包的弃用,应该使用什么?,json,scala,Json,Scala,如何解决Scala问题? 我在项目中使用JSON时收到警告: JSON包中的对象JSON被去除。此对象将被删除 删除 Scala标准库中的JSON解析器已被弃用。您应该选择一个更健壮的第三方库,如Jackson、Play Json、json4s等。通常,这意味着一个功能已经被另一个实现所取代,而使用另一个实现比使用旧的实现更受欢迎,像这样的问题仅仅意味着OP太懒了,无法用谷歌搜索文档。对于Java语言中的库来说尤其如此,它非常严肃地对待向后兼容性(这对某些人来说是一种痛苦)。Scala生态系统在

如何解决Scala问题? 我在项目中使用JSON时收到警告:

JSON包中的对象JSON被去除。此对象将被删除 删除


Scala标准库中的JSON解析器已被弃用。您应该选择一个更健壮的第三方库,如Jackson、Play Json、json4s等。

通常,这意味着一个功能已经被另一个实现所取代,而使用另一个实现比使用旧的实现更受欢迎,像这样的问题仅仅意味着OP太懒了,无法用谷歌搜索文档。对于Java语言中的库来说尤其如此,它非常严肃地对待向后兼容性(这对某些人来说是一种痛苦)。Scala生态系统在这方面没有那么严格,升级到该语言的更新版本意味着您可以获得不同的API,甚至更高版本。另见。这不是对Scala的评论。存在这些不兼容有很好的理由

但是,我必须承认,没有包含任何关于此功能的建议替换的信息。我花了很长时间才找到一个与推荐的替代品几乎没有什么相似之处的东西

社区中似乎有很多关于这种反对的观点和影响的讨论。如果你感兴趣,我建议你阅读

最常被引用的反对理由似乎是性能差和线程安全性差

的结束语中建议使用不同的解析器

备选方案包括:

  • (允许您在不同的实现之间进行选择)

回答你的问题。这是一个警告,在实际删除此对象之前,您的代码不应中断。然而,如果在这个功能中发现新的bug,它们很可能不会被修复。如果升级到较新版本的Scala并实际删除了这些包(2.11.0及以上版本),代码也可能会中断。

也可以考虑使用Lift JSON作为替代方案


之前@toniedzwiedz提供的答案非常完整,并描述了围绕该问题的整个故事。 我刚刚在使用Scala 2.11时遇到了同样的问题,我解决了添加依赖项的问题。 特别是对于
Scala 2.11
而言:

<dependency>
    <groupId>org.scala-lang.modules</groupId>
    <artifactId>scala-parser-combinators_2.11</artifactId>
    <version>1.1.0</version>
</dependency>

org.scala-lang.modules
scala-parser-combinators_2.11
1.1.0

那么你就不会收到警告。

我不知道为什么这个答案被否决了
<dependency>
    <groupId>org.scala-lang.modules</groupId>
    <artifactId>scala-parser-combinators_2.11</artifactId>
    <version>1.1.0</version>
</dependency>