jsonobject 遍历取值



例子如下:

import org.json.JSONArray;  
import org.json.JSONException;  
import org.json.JSONObject;  

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
[java] view plaincopyprint?public static void main(String[] args) {  
        String str = "{'TI':[{'value':'aa1','count':10},{'value':'aa2','count':15},{'value':'aa3','count':20}]," +  
                "'AB':[{'value':'ab','count':110},{'value':'ab2','count':115},{'value':'ab3','count':210}]}";  
        JSONArray newArray = new JSONArray();  
        JSONObject newJson = new JSONObject();  
        try {  
            JSONObject obj = new JSONObject(str);  
            Iterator it = obj.keys();  
            while (it.hasNext()) {  
                String key = (String) it.next();  
                String value = obj.getString(key);  
                JSONArray array = obj.getJSONArray(key);  
                for(int i=0;i<array.length();i++){  
                    JSONObject jsonobject = array.getJSONObject(i);  
                    jsonobject.put("name", key);  
                    jsonobject.put("exp", key+"="+jsonobject.getString("value"));  
                    newArray.put(jsonobject);  
                }  
            }  
            newJson.put("groups",newArray);  
            System.out.println(newJson);  
        } catch (JSONException e) {  
            e.printStackTrace();  
        }  
    }  
      

public static void main(String[] args) {
		String str = "{'TI':[{'value':'aa1','count':10},{'value':'aa2','count':15},{'value':'aa3','count':20}]," +
				"'AB':[{'value':'ab','count':110},{'value':'ab2','count':115},{'value':'ab3','count':210}]}";
		JSONArray newArray = new JSONArray();
		JSONObject newJson = new JSONObject();
		try {
			JSONObject obj = new JSONObject(str);
			Iterator it = obj.keys();
			while (it.hasNext()) {
				String key = (String) it.next();
				String value = obj.getString(key);
				JSONArray array = obj.getJSONArray(key);
				for(int i=0;i<array.length();i++){
					JSONObject jsonobject = array.getJSONObject(i);
					jsonobject.put("name", key);
					jsonobject.put("exp", key+"="+jsonobject.getString("value"));
					newArray.put(jsonobject);
				}
			}
			newJson.put("groups",newArray);
			System.out.println(newJson);
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}



结果:

[java] view plaincopyprint?{"groups":[{"exp":"AB=ab","count":110,"name":"AB","value":"ab"},{"exp":"AB=ab2","count":115,"name":"AB","value":"ab2"},{"exp":"AB=ab3","count":210,"name":"AB","value":"ab3"},{"exp":"TI=aa1","count":10,"name":"TI","value":"aa1"},{"exp":"TI=aa2","count":15,"name":"TI","value":"aa2"},{"exp":"TI=aa3","count":20,"name":"TI","value":"aa3"}]}



原文链接:

http://blog.csdn.net/wwwyuanliang10000/article/details/7648250

你可能感兴趣的:(json,iterator)