如何使用Java中的Jackson API将JsonNode转换为ArrayNode?

JsonNode 是所有JSON节点形成JSON树模型而基类ArrayNode 是节点类,它表示从JSON内容映射的数组。我们可以通过使用ObjectMapper 类的readTree()方法和get()方法访问数组节点的指定元素的值,通过强制转换ArrayNode以检索值来将JsonNode转换或转换为ArrayNode 。

语法

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"