在这个对象里面,要不断的用递归的方式去访问:
public static void navigateTree(JsonValue tree,String key) {
if(key != null)
System.out.print("Key " + key + ": ");
switch(tree.getValueTvpe()){
case OBJECT:
System.out.printIn("OBJECT");
JsonObject object =(JsonObject) tree;
for (String name: object.keySet())
navigateTree(object.get(name),name);
break;
case ARRAY:
System.out.printIn("ARRAY");
如果进来之后发现不是子树怎么办?如果是数组:
JsonArray array=(JsonArray)tree;
for(JsonValue val:array)
navigateTree(val,null);
break;
如果是字符串呢?
case STRING:
JsonStringst=(JsonString)tree;
System.out.println("STRING"+st.getString());
break;
case NUMBER:
JsonNumber num=(JsonNumber) tree;
System.out.printIn("NUMBER"+num.toString());
break;
case TRUE:
case FALSE:
case NULL:
System.out.println(tree.getValueType().toString());
break;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。