用Gson遍历json所有节点

Posted 代码之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Gson遍历json所有节点相关的知识,希望对你有一定的参考价值。

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.0</version>
</dependency>

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>
    public static void jsonTree(JsonElement e)
    {
        if (e.isJsonNull())
        {
            System.out.println(e.toString());
            return;
        }

        if (e.isJsonPrimitive())
        {
            System.out.println(e.toString());
            return;
        }

        if (e.isJsonArray())
        {
            JsonArray ja = e.getAsJsonArray();
            if (null != ja)
            {
                for (JsonElement ae : ja)
                {
                    jsonTree(ae);
                }
            }
            return;
        }

        if (e.isJsonObject())
        {
            Set<Entry<String, JsonElement>> es = e.getAsJsonObject().entrySet();
            for (Entry<String, JsonElement> en : es)
            {
                jsonTree(en.getValue());
            }
        }
    }
    
    public static void main(String[] args)
    {
        try
        {
            String json = FileUtils.readFileToString(new File("C://test//test.txt"), "UTF-8");
            JsonParser p = new JsonParser();
            JsonElement e = p.parse(json);
            jsonTree(e);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

 

以上是关于用Gson遍历json所有节点的主要内容,如果未能解决你的问题,请参考以下文章

java如何遍历json 请具体点

用gson如何处理json转换Timestamp类型

如何用Java拼接JSON方式遍历整个树形节点

java遍历复杂json字符串获取想要的数据

安卓怎么用gson解析服务端返回的复杂json数据

jsonarray 哪个性能好