构建和解析JSONObject、JSONArray

最近用到JSONObject,在此我们记录一下

1. 在项目中先导入依赖的jar包(一共6个依赖包),此处使用的是 net.sf.json
    
        net.sf.json-lib
        json-lib
        2.4
        jdk15
    
    
    
        commons-beanutils
        commons-beanutils
        
    
    
        org.apache.commons
        commons-collections4
        4.1
    
    
        org.apache.commons
        commons-lang3
        3.4
    
    
        commons-logging
        commons-logging
        1.2
    
    
        net.sf.ezmorph
        ezmorph
        1.0.4
    
2. 直接上代码
package test;

import java.util.Iterator;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonObjectAndJsonArrayTest {

	public static void main(String[] args) {
	    //  \ 是为了转译双引号 
		String json = "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\"}";
		// 解析jsonObject测试
		parseJsonObjectTest(json);
		// 解析jsonArray测试
		parseJsonArrayTest();
		// 构建jsonObject 和jsonArray 测试
		buildJsonObjcetTest();
	}
	/**
	 * 解析JSON串
	 */
	@SuppressWarnings({ "rawtypes", "static-access" })
	public static  void parseJsonObjectTest(String json) {
		JSONObject jsonObject = new JSONObject().fromObject(json);
		// 也可以先获取到json中所有的key值
		// Set keySet = jsonObject.keySet();
		Set entrySet = jsonObject.entrySet();
		Iterator iterator = entrySet.iterator();
		while(iterator.hasNext()) {
			Object next = iterator.next();
			String entry = next.toString();
			System.out.println(entry); //输出结果 key1=value1、key2=value2、key3=value3
		}
	}

	/**
	 * 解析JSONArray测试
	 */
	public static  void parseJsonArrayTest() {
		String json = "[{\"key10\":\"value10\",\"key20\":\"value20\"},{\"key30\":\"value30\",\"key40\":\"value40\"}]";
		//1. 把字符串类型的json数组对象转化JSONArray
		JSONArray jsonArray = new JSONArray().fromObject(json);
		for (int i = 0; i < jsonArray.size(); i++) {
			JSONObject jsonArray2 = jsonArray.getJSONObject(i);
			System.out.println(jsonArray2); //输出结果 {"key10":"value10","key20":"value20"}、{"key30":"value30","key40":"value40"}
			parseJsonObjectTest(jsonArray2.toString());// key10=value10、key20=value20 、...
		}
	}

	/**
	 * 构建JSONObject 和 JSONArray
	 *   一个或多个JSONObject构成一个JSONArray
	 */
	public static  void buildJsonObjcetTest() {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("key1", "value1");
		jsonObject.put("key2", "value2");
		System.out.println("构建的jsonObject: "+jsonObject); //  {"key1":"value1","key2":"value2"}
		JSONObject jsonObject2 = new JSONObject();
		jsonObject2.put("key3", "value3");
		jsonObject2.put("key4", "value4");
		JSONArray jsonArray = new JSONArray();
		jsonArray.add(jsonObject);
		jsonArray.add(jsonObject2);
		System.out.println("构建的jsonArray: "+jsonArray);// [{"key1":"value1","key2":"value2"},{"key3":"value3","key4":"value4"}]
	}

}

如有不足之处多多指正!!!

你可能感兴趣的:(JAVA,JSONObject,JSONArray,解析JSONObject,构建JSONObject)