gpt4 book ai didi

json - 检查对象在 json4s/lift-json 中是否有字段

转载 作者:行者123 更新时间:2023-12-01 06:59:12 26 4
gpt4 key购买 nike

我有一个包含一些字段的 json,我想检查其中一些字段是否存在。我正在提取值并针对 JNothing 对其进行测试,但它太冗长了:

val json: JValue = ...

val jsonIsType1 = (json \ "field1") != JNothing && (json \ "field2") != JNothing

是否有更紧凑的方法来使用 json4s/lift-json 检查 json 对象中字段的存在?理想情况下是这样的:
val jsonIsType1 = json.has("field1") && json.has("field2")

最佳答案

JValue 没有“has”运算符,但 Scala 隐式的强大功能使您可以轻松添加该功能。

这是一个例子:

implicit class JValueExtended(value: JValue) {
def has(childString: String): Boolean = {
if ((value \ childString) != JNothing) {
true
} else {
false
}
}
}

用法示例:
scala> val json = Json.parse("""{"field1": "ok", "field2": "not ok"}""")

scala> json.has("field1")
res10: Boolean = true

关于json - 检查对象在 json4s/lift-json 中是否有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com