慕工程0101907
2022-07-14 09:49:18
我想從 url 下面的 JSON 中"stations"的鍵返回值。我如何在 Scala 中做到這一點(diǎn)?"base"https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22這是我嘗試的。import scalaj.http._import play.api.libs.json.{JsValue, Json}object JSON {def convertToJson(): String = { val url: String = "https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22" val response: String = Http(url).asString.body val parsed: JsValue = Json.parse(response) parsed.get(base)}}
1 回答

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以使用\方法返回對應(yīng)于字段名稱的屬性
val result: JsLookupResult = parsed \ "base"
如果您希望結(jié)果為字符串,您可以使用as[String]轉(zhuǎn)換
println(result.as[String])
它將打印“站”,但如果它不是真正的字符串,它會拋出異常
如果缺少值,您可以使用模式匹配:
result match {
case JsDefined(v) => println(v.toString) // will print "stations"
case undefined: JsUndefined => println(undefined.validationError) // prints error in case missing value
}
添加回答
舉報(bào)
0/150
提交
取消