给出json4s JValue expected(String,String)

时间:2017-04-27 10:09:10

标签: json scala jackson json4s

使用Scala和json4s(也许我错过了一个金鱼库或其他东西)

我正在尝试将一些字符串列表(或数组)添加到JSON中,所以最终看起来像:

{"already":"here",..."listToAdd":["a","b",c"]}

事实是我已经拥有了JObject中的String和Array [String]中的字符串列表(但如果需要,可以将其更改为List)。所以我按照docat json4s.org说明:

Any seq produces JSON array.

scala> val json = List(1, 2, 3)

scala> compact(render(json))

res0: String = [1,2,3]
Tuple2[String, A] produces field.

scala> val json = ("name" -> "joe")

scala> compact(render(json))

res1: String = {"name":"joe"}

在尝试时,它会给出:

Error:(15, 28) type mismatch;
found   : (String, String)
required: org.json4s.JValue
    which expands to)  org.json4s.JsonAST.JValue
    println(compact(render(idJSON)))

使用Scala 2.11.4       Json4s 3.2.11(杰克逊)

1 个答案:

答案 0 :(得分:1)

您还必须导入一些隐式转换方法:

import org.json4s.JsonDSL._

这些会将Scala对象转换为库的Json AST。