我想使用 upickle library 的 ujson从 json 文档中提取可选字符串。在某些文档中 json 字段存在,而在其他文档中不存在。
当访问该字段并且该字段不存在时,我得到一个 NoSuchElementException:
val json = ujson.read(jsonString)
json("attributename").str
results in: java.util.NoSuchElementException: key not found: attributename
在 ujson 中处理可选 json 属性的惯用方法是什么?
最佳答案
如果你想在任何异常情况下返回默认值,你可以使用 Try
与 getOrElse
:
val result = Try(json("attributename").str).getOrElse("defaultValue")
结果将为
attributename
的值键或 defaultValue
如果没有这样的键,则为字符串。
关于scala - 用 lihaoyi ujson 处理可选字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061072/