gson遍历所有json数据所有的key和value

有一天,我想要去遍历json的所有key和value,通过这个去对比数据是否一致时,我想到了这个方法

使用

String json = "";
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
JsonElement tree = ParserUtils.parseFromJson(jsonObject.toString(), JsonElement.class);
jsonTree(tree);

遍历的方法

public void jsonTree(JsonElement e) {

    if (e.isJsonPrimitive() || e.isJsonNull()) {
        return;
    }

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

    if (e.isJsonObject()) {
        Set<Map.Entry<String, JsonElement>> es = e.getAsJsonObject().entrySet();
        for (Map.Entry<String, JsonElement> en : es) {
            System.out.println("这个是key::"+en);
            System.out.println("这个是value::"+en.getValue().toString());
            
            jsonTree(en.getValue());
        }
    }
}

版权声明:本文为yyuggjggg原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。