使用Play框架在Scala中解析Json字符串
发布时间:2020-12-16 18:18:36 所属栏目:安全 来源:网络整理
导读:我开始尝试使用 Scala和Play来解析Json数据,并在 https://www.playframework.com/documentation/2.3.9/ScalaJson处遵循教程. 现在,当我尝试运行那里给出的示例代码时: val json: JsValue = Json.parse("""{ "name" : "Watership Down","location" : { "lat"
我开始尝试使用
Scala和Play来解析Json数据,并在
https://www.playframework.com/documentation/2.3.9/ScalaJson处遵循教程.
现在,当我尝试运行那里给出的示例代码时: val json: JsValue = Json.parse("""{ "name" : "Watership Down","location" : { "lat" : 51.235685,"long" : -1.309197 },"residents" : [ { "name" : "Fiver","age" : 4,"role" : null },{ "name" : "Bigwig","age" : 6,"role" : "Owsla" } ] } """) val lat = json "location" "lat" 我收到以下错误: java.lang.NoSuchMethodError: play.api.libs.json.JsValue.$bslash(Ljava/lang/String;)Lplay/api/libs/json/JsValue; 我究竟做错了什么?我正在使用Scala 2.10和Play 2.3.9. 谢谢. 解决方法
在Play 2.4.x中,JsLookupResult表示特定Json路径上的值,可以是实际的Json节点,也可以是未定义的. JsLookupResult有两个子类:分别是JsDefined和JsUndefined.
您可以按以下方式修改代码: val name: JsLookupResult = json "user" "name" name match { case JsDefined(v) => println(s"name = ${v.toString}") case undefined: JsUndefined => println(undefined.validationError) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |