我需要解析以下 json 字符串:
{“类型”:1}
我正在使用的案例类如下所示:
case class MyJsonObj(
val type: Int
)
然而,这让 Scala 感到困惑,因为 'type' 是一个关键字。因此,我尝试使用来自 Jacson/Jerkson 的 @JsonProperty 注释,如下所示:
case class MyJsonObj(
@JsonProperty("type") val myType: Int
)
但是,Json 解析器仍然拒绝在 json 中查找 'type' 字符串而不是 'myType'。以下示例代码说明了问题:
import com.codahale.jerkson.Json._
import org.codehaus.jackson.annotate._
case class MyJsonObj(
@JsonProperty("type") val myType: Int
)
object SimpleExample {
def main(args: Array[String]) {
val jsonLine = """{"type":1}"""
val JsonObj = parse[MyJsonObj](jsonLine)
}
我收到以下错误:
[error] (run-main-a) com.codahale.jerkson.ParsingException: Invalid JSON. Needed [myType], but found [type].
PS:如上所示,我正在使用 jerkson/jackson,但如果这样可以让生活更轻松,我不介意切换到其他一些 json 解析库。