java遍历JSON树

使用框架:json-lib

所需jar包:

json-lib-2.3-jdk15.jar

commons-lang-2.4.jar

ezmorph-1.0.6.jar

commons-logging-1.1.1.jar

commons-collections-3.1.jar

commons-beanutils-1.8.0.jar


Test类:

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;


public class Test3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="【Object json树形字符串】";
		Map map=new HashMap();
		JsonConfig jc=new JsonConfig();
		jc.setClassMap(map);
		jc.setRootClass(Map.class);
		jc.setArrayMode(JsonConfig.MODE_LIST);
		JSONObject jobj=JSONObject.fromObject(s,jc);
		//递归遍历
		decodeJSONObject(jobj);
	}
	public static void decodeJSONObject(JSONObject json){
		Iterator<String> keys=json.keys();
		JSONObject jo=null;
		Object o;
		String key;
		while(keys.hasNext()){
			key=keys.next();
			o=json.get(key);
			if(o instanceof JSONObject){
				jo=(JSONObject)o;
				if(jo.keySet().size()>0){
					decodeJSONObject(jo);
				}else{
					System.out.println(key);
				}
			}else{
				System.out.println(o);
			}
		}
	}
}


你可能感兴趣的:(java,json,递归,树)