如何使用 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"

相关文章