如何使用 Java 中的 Jackson API 将 JsonNode 转换为 ArrayNode?
javajsonobject oriented programmingprogramming
JsonNode 是构成 JSON 树模型的所有 JSON 节点的基类,而 ArrayNode 是一个节点类,表示从 JSON 内容映射的数组。我们可以通过对 ArrayNode 进行类型转换来将 JsonNode 转换或翻译为 ArrayNode,以使用 ObjectMapper 类的 readTree() 方法检索值,并使用 get() 方法访问数组节点指定元素的值。
语法
public JsonNode readTree(String content) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
示例
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.core.JsonProcessingException; public class JSonNodeToArrayNodeTest { public static void main(String args[]) throws JsonProcessingException { String jsonStr = "{\"Technologies\" : [\"Java\", \"Scala\", \"Python\"]}"; ObjectMapper mapper = new ObjectMapper(); ArrayNode arrayNode = (ArrayNode) mapper.readTree(jsonStr).get("Technologies"); if(arrayNode.isArray()) { for(JsonNode jsonNode : arrayNode) { System.out.println(jsonNode); } } } }
输出
"Java" "Scala" "Python"