遍历Json对象的过程是什么样的啊?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在这个对象里面,要不断的用递归的方式去访问:
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;
 }
}