【发布时间】:2021-04-01 21:02:06
【问题描述】:
来自 API 的响应看起来像
"node1": [
{
"$field": "https://somethingh.com",
"type": "object",
"meta:Type": "object"
},
{
"$field": "https://somethingelse.com",
"type": "object",
"meta:Type": "object"
}
],
当通过 key 检索节点时,有时它正在检索,有时 objNode.get("$field") 返回 null。所以得到空指针异常。
我有什么方法可以避免它。我不想使用 get(0) (元素的索引)。因为后者你的位置可能会改变..
val mapper = new ObjectMapper()
val node = mapper.readTree(res)
val nodelist = node.get("node1")
if (nodelist != null) {
for (objNode <- nodelist) {
println(s"objNode => $objNode and value => ${objNode.get("$field")} ")
val fieldColumn = objNode.get("$field").textValue()
}
【问题讨论】:
-
这可能是因为您在
JSON有效负载和Scala代码中使用了两个不同的美元符号。查看dollar signs 的列表。尝试从有效负载中复制美元符号并放入代码文件。
标签: scala jackson jackson-databind