gpt4 book ai didi

json - 面对scala.util.parsing.json._包的弃用该使用什么?

转载 作者:行者123 更新时间:2023-12-04 00:52:17 29 4
gpt4 key购买 nike

如何解决Scala问题?
我在项目中通过JSON使用情况发出警告:


软件包json中的对象JSON被描述。该对象将是
删除。


import scala.util.parsing.json._
JSON.parseRaw("[{'a':'b'},{'c':'d'}]")

最佳答案

通常,这意味着某项功能已被另一种实现所取代,而另一种实现的使用要比旧的实现更受青睐,而这样的问题仅表示OP太懒了而无法搜索文档。对于Java语言的库,尤其如此,因为它非常重视向后兼容性(以至于有些痛苦)。 Scala生态系统在这方面并不严格,升级到该语言的较新版本意味着您可以获得不同的API甚至binary incompabilities。另请参见Scala: binary incompatibility between releases。这不是对Scala的评论。存在这些不兼容的充分原因。

但是,我必须承认documentation for scala.util.parsing.json不包含任何有关建议替代此功能的信息。我花了相当长的时间才发现一些与建议的替代物几乎没有明确表述的东西。

社区中似乎已经有很多关于这种弃用的意义和影响的讨论。如果您有兴趣,建议阅读this thread in the scala-users group

引起这种弃用的最引人注目的原因似乎是性能差和线程安全性差。

弃用是this Jira issue的一部分,并且在this related task that was not completed due to the deprecation的结束语中建议使用不同的解析器。

备选方案包括:


play-json
spray-json
argonaut
jackson
rapture-json(允许您在不同的实现之间进行选择)


回答您的问题。这是一个警告,在实际删除该对象之前,您的代码不应中断。但是,如果在此功能中发现了新错误,则很可能不会修复它们。如果您升级到实际删除了那些软件包的新版本的Scala(版本2.11.0及更高版本,according to the documentation),您的代码也会中断。

关于json - 面对scala.util.parsing.json._包的弃用该使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29867579/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com