为什么此json4s代码在scala repl中有效,但无法编译?

大卫

我正在将类似json的字符串转换为json,并且以下代码在scala repl中有效

import org.json4s._
import org.json4s.JsonDSL._
import org.json4s.JsonDSL.WithDouble._
import org.json4s.native.JsonMethods._

val value = "{100:1.50;500:1.00;1000:0.50}"

val data = value.stripPrefix("{").stripSuffix("}").split(";").map(a => {
  val b = a.split(":")
  (b(0),b(1))
}).toMap
compact(render(data))

但是在编译时,出现以下错误

[error] ... type mismatch;
[error]  found   : scala.collection.immutable.Map[String,String]
[error]  required: org.json4s.JValue
[error]     (which expands to)  org.json4s.JsonAST.JValue
[error]       compact(render(data))
[error]                      ^

为什么会这样,我该如何解决?

我怀疑类型系统有什么问题。

迪米特里

render()是从中导入的JsonMethods._,它实际上需要一个JValue。map2jvalue从这两个导入import org.json4s.JsonDSL._和中导入了一个隐式两次import org.json4s.JsonDSL.WithDouble._

我怀疑编译器由于导入不明确而没有找到隐式,请尝试更具选择性:第3次导入似乎是多余的(带有JsonDSL.WithDouble._)。

有时,您可以使用-Xlog-implicits运行scalac来查看为什么不使用隐式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么json4s需要Scala编译器作为运行时依赖项

来自分类Dev

有效JSON,但无法显示数组元素

来自分类Dev

有效JSON但无法反序列化

来自分类Dev

类型别名在REPL中有效,但在scala类/对象中无效

来自分类Dev

如何减少泛型 <? 将 Type> 扩展为 Java 中的 Type。代码在运行时有效但无法编译

来自分类Dev

为什么此语句在Java中有效?

来自分类Dev

为什么int&a = 10; 在古代C ++编译器中有效吗?

来自分类Dev

为什么此代码在ruby 1.8而不是ruby 1.9中有效?

来自分类Dev

为什么此代码在ruby 1.8而不是ruby 1.9中有效?

来自分类Dev

为什么此代码在控制台中有效,但在页面加载时无效?

来自分类Dev

为什么调用这样的函数在Scala中有效?

来自分类Dev

Portacle-为什么在访问文件时功能智能感知停止工作(在repl中有效)

来自分类Dev

func = elem [1..10]在GHCi中有效,但无法编译

来自分类Dev

为什么此Java代码有效?编译器不抱怨关闭

来自分类Dev

代码仅在jsfiddle中有效

来自分类Dev

仅在Firefox中有效的代码

来自分类Dev

为什么此代码在bash v4.4中有效但在bash v3.2中无效?

来自分类Dev

为什么此 JavaScript css 过滤器代码在 Firefox 中有效,而在 Chrome 中无效?

来自分类Dev

为什么此代码有效?[R] [dplyr] [变异]

来自分类Dev

试图了解为什么此Python代码有效

来自分类Dev

Typedef-为什么此C ++代码有效?

来自分类Dev

为什么此WCF代理代码有效?

来自分类Dev

为什么此Visual Basic代码有效?

来自分类Dev

为什么此代码有效?[R] [dplyr] [变异]

来自分类Dev

为什么此代码有效,而那个无效?

来自分类Dev

为什么此WCF代理代码有效?

来自分类Dev

为什么此代码有效且不会崩溃

来自分类Dev

为什么此python代码有效?

来自分类Dev

Scala平等:为什么要编译此代码?

Related 相关文章

  1. 1

    为什么json4s需要Scala编译器作为运行时依赖项

  2. 2

    有效JSON,但无法显示数组元素

  3. 3

    有效JSON但无法反序列化

  4. 4

    类型别名在REPL中有效,但在scala类/对象中无效

  5. 5

    如何减少泛型 <? 将 Type> 扩展为 Java 中的 Type。代码在运行时有效但无法编译

  6. 6

    为什么此语句在Java中有效?

  7. 7

    为什么int&a = 10; 在古代C ++编译器中有效吗?

  8. 8

    为什么此代码在ruby 1.8而不是ruby 1.9中有效?

  9. 9

    为什么此代码在ruby 1.8而不是ruby 1.9中有效?

  10. 10

    为什么此代码在控制台中有效,但在页面加载时无效?

  11. 11

    为什么调用这样的函数在Scala中有效?

  12. 12

    Portacle-为什么在访问文件时功能智能感知停止工作(在repl中有效)

  13. 13

    func = elem [1..10]在GHCi中有效,但无法编译

  14. 14

    为什么此Java代码有效?编译器不抱怨关闭

  15. 15

    代码仅在jsfiddle中有效

  16. 16

    仅在Firefox中有效的代码

  17. 17

    为什么此代码在bash v4.4中有效但在bash v3.2中无效?

  18. 18

    为什么此 JavaScript css 过滤器代码在 Firefox 中有效,而在 Chrome 中无效?

  19. 19

    为什么此代码有效?[R] [dplyr] [变异]

  20. 20

    试图了解为什么此Python代码有效

  21. 21

    Typedef-为什么此C ++代码有效?

  22. 22

    为什么此WCF代理代码有效?

  23. 23

    为什么此Visual Basic代码有效?

  24. 24

    为什么此代码有效?[R] [dplyr] [变异]

  25. 25

    为什么此代码有效,而那个无效?

  26. 26

    为什么此WCF代理代码有效?

  27. 27

    为什么此代码有效且不会崩溃

  28. 28

    为什么此python代码有效?

  29. 29

    Scala平等:为什么要编译此代码?

热门标签

归档