私は次の文字列を持っている:は、JSON文字列にフィールドを見つけることができません
私はtags
を抽出し、文字列にこのフィールドを変換したい
val jsonString: String = """{"additionalProperties":{},"annotation":{"type":"getDetails","docId":"doi:10.1186-s13612-016-0045-3","tags":{"wellbeing":7,"mood":6,"memories":6,"tmr":3,"participants":3},"additionalProperties":{}}}"""
。これは、私はそれがplayframeworkを使用して行う方法です。
val parsedJson = Json.parse(jsonString)
val result = (parsedJson \ "tags").as[JsString].value
System.out.println(result)
このコードは、行val result = (parsedJson \ "tags").as[JsString].value
で立ち往生し、任意のエラーメッセージを返しません。私が間違っているのは何
- :
は、そのため私は2つの質問がありますか?私は取得したい
"tags":{"wellbeing":7,"mood":6,"memories":6,"tmr":3,"participants":3}
- どのようにこのようなデッドロック状況を避けるには? (何らかの理由でフィールドが見つからない場合)
タグオブジェクトをJsObjectとして抽出するにはどうすればよいですか?私はJsDefinedを取得します。 – Klue
私のコメントは両方とも以下を使って解決できます: '(json \" annotation "\" tags ")。as [JsObject]'。 'as [JsObject]'部分は 'JsDefined'を' JsObject'に変換します – irundaia