`

Java用Jackson遍历json所有节点

阅读更多

 

<!-- jackson begin -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.1.4</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.1.4</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.1.4</version>
</dependency>
<!-- jackson end -->

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>
    public static void jsonLeaf(JsonNode node)
    {
        if (node.isValueNode())
        {
            System.out.println(node.toString());
            return;
        }

        if (node.isObject())
        {
            Iterator<Entry<String, JsonNode>> it = node.fields();
            while (it.hasNext())
            {
                Entry<String, JsonNode> entry = it.next();
                jsonLeaf(entry.getValue());
            }
        }

        if (node.isArray())
        {
            Iterator<JsonNode> it = node.iterator();
            while (it.hasNext())
            {
                jsonLeaf(it.next());
            }
        }
    }
    
    public static void main(String[] args)
    {
        try
        {
            String json = FileUtils.readFileToString(new File("C://test.json"), "UTF-8");
            ObjectMapper jackson = new ObjectMapper();
            JsonNode node = jackson.readTree(txt);
            jsonLeaf(node);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

部分代码来源于自动化测试REST API工具Wisdom RESTClient

https://github.com/Wisdom-Projects/rest-client

分享到:
评论

相关推荐

    遍历JSON文件内容

    在`traverseJson`方法中,我们递归地遍历JSON节点。如果是对象,我们遍历其字段;如果是数组,我们遍历其元素;其他情况则打印出节点的值。 4. **打印输出**:遍历过程中,我们可以根据需要对JSON数据进行处理,...

    jackson 对象json字符串数组集合互转

    在处理JSON数组时,我们通常需要指定集合的具体类型,这可以通过使用Java的TypeReference实现。例如,`new TypeReference&lt;List&lt;MyClass&gt;&gt;() {}`告诉Jackson集合中包含的对象类型是MyClass。 5. `@JsonInclude`与`@...

    java 所有的json包

    例如,你可以使用JSONObject将Java对象转换成JSON格式,或者用JSONArray存储和操作一系列JSON对象。 2. **net**: 这个模块提供网络相关的功能,比如通过HTTP或HTTPS与JSON服务进行交互。它可以帮助你发送JSON请求并...

    java转目录树json

    接下来,我们将讨论如何使用Java来实现这个转换过程: 1. **遍历目录**:首先,我们需要一个方法来递归地遍历文件系统中的目录。可以使用`java.io.File`类的`listFiles()`方法获取目录下的所有文件和子目录。对于每...

    java-json.zip

    `JsonNode`是一个抽象类,表示JSON结构中的任何节点,可以遍历整个JSON树。 5. **JSONPath和JSONSchema**:JSONPath是查询JSON数据的一种方式,类似于XPath在XML中的作用。JSONSchema则用于验证JSON数据是否符合...

    JsonPath使用类似XPATH的语法从JSON提取数据

    同时,它也可以与各种Java JSON库(如Jackson、Gson)结合使用,以提供更全面的JSON处理能力。 对于压缩包文件`json-path-JsonPath-8a23997`,这可能是一个包含JsonPath库源代码或者示例项目的版本,通过查看源码和...

    Java环境JSON包

    4. 解析JSON:使用`JsonParser`类逐字段解析JSON,或使用`ObjectMapper`的`readTree()`方法得到`JsonNode`对象,然后通过API遍历节点。 四、使用Gson处理JSON 1. 安装:添加Gson库依赖,如在Maven项目中添加Gson...

    json解析利器-jackson

    Jackson是Java领域中的一款高效、功能丰富的JSON处理库,它提供了多种方式来解析和生成JSON,使得开发者能轻松地在Java对象和JSON之间进行转换。 Jackson库由FasterXML公司开发,其核心组件包括: 1. **Jackson-...

    Java-Java操作XML和JSON教程

    1. **DOM解析器**:DOM解析器将整个XML文档加载到内存中的一个树形结构,允许开发者通过节点遍历和操作XML。例如,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口来创建和操作XML...

    java读取kml文件数据

    1. 加载KML文件:使用Java的FileInputStream类打开文件,然后通过JAXBContext创建一个上下文,以便将XML数据映射到Java对象。 2. 解析KML文件:使用Unmarshaller接口从KML文件中生成对应的Java对象模型。 3. 遍历KML...

    json-lib 解析json串工具类

    4. **处理JSON节点** `JsonNode`是`json-lib`中的核心类,它代表了JSON的结构。你可以通过`JsonNode`的方法访问其属性(如`get(String key)`)或子节点,也可以修改值(如`put(String key, Object value)`)。 5. ...

    java解析xml的4种方法和json格式

    // 使用Java对象 System.out.println(obj.getProperty()); ``` 关于JSON格式,JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,常用的JSON库有Gson、Jackson和org.json。...

    读json文件自动生成jsonpath

    在Java中,处理JSON并生成JSONPath可以使用一些第三方库,如JsonPath、Jackson或Gson等。这里我们主要关注JsonPathLib,这可能是用户提供的一个自定义库或者是一个特定实现的类。`JsonPathLib.java`可能包含了读取...

    jackson-core-asl-1.9.8.jar+jackson-mapper-asl-1.9.8.jar下载

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效且灵活的API来解析、生成、序列化和反序列化JSON数据。在本场景中,我们关注的是两个特定的Jackson库:`jackson-core-asl-1.9.8.jar`和`jackson-mapper-...

    jackson-core-asl-1.7.2.zip

    杰克逊(Jackson)是Java开发中的一个关键库,它主要负责JSON的序列化和反序列化工作。Jackson-core-asl-1.7.2.zip这个压缩包包含了Jackson核心库的1.7.2版本,这是一个针对Apache Software License(ASL)的版本。...

    基于Java实现JSON反序列化器(编译原理)

    在实际应用中,Java提供了许多库来处理JSON,例如Jackson、Gson、Fastjson等,它们已经实现了高效且功能丰富的反序列化器。然而,通过理解编译原理并亲手实现一个简单的JSON反序列化器,我们可以更深入地理解JSON的...

    JsonUitl(一 个json转成list的简单通用工具类)

    在内部,`JsonUtil` 可能会调用第三方库的API,如Jackson的 `ObjectMapper.readValue()` 或Gson的 `Gson.fromJson()`,将JSON字符串解析为JsonNode或JsonElement,然后遍历这个节点树,创建对应的Java对象,并添加...

    java转换xml、list、map和json.docx

    此外,还有其他的库如Jackson、Gson和Fastjson等,它们也提供了XML和JSON之间的转换功能,但这里主要讨论的是json-lib库的使用。注意,转换过程可能会涉及到异常处理,确保在代码中适当地捕获和处理可能出现的异常。

    json 解析 xml

    使用`javax.xml.parsers.DocumentBuilderFactory`创建`Document`对象,然后通过`getElementsByTagName()`等方法遍历节点。 2. **SAX解析**:基于事件驱动的解析,逐行读取XML,占用内存较小,适用于大文件。使用`...

    java转换xml、list、map和json.pdf

    - 在实际开发中,应考虑使用现代的库,如Jackson或Gson,它们提供了更高效且功能丰富的JSON处理,而`jaxb`或`StaX`等库可以处理XML转换。 - 对于复杂的转换,可以使用对象映射框架,如Dozer或ModelMapper,它们...

Global site tag (gtag.js) - Google Analytics