JsonArayとJsonObjectの使用

5661 ワード

この二つのJSONオブジェクトの違いはずっとよく分かりません。まずは良いJson入門の文書を紹介します。
http://www.json.org/json-zh.html
次はネットで見つけたイメージのいい例です。地元で走り始めます。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonTest {

	public static void main(String[] args) {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("username", "huangwuyi");
		jsonObject.put("sex", " ");
		jsonObject.put("QQ", "413425430");
		jsonObject.put("Min.score", new Integer(99));
		jsonObject.put("nickname", "    ");
		//   jsonobject  
		System.out.println("=====jsonObject:" + jsonObject);

		//          
		boolean isArray = jsonObject.isArray();
		boolean isEmpty = jsonObject.isEmpty();
		boolean isNullObject = jsonObject.isNullObject();
		System.out.println("=====     :" + isArray + ",     :" + isEmpty
				+ ", isNullObject:" + isNullObject);

		//     , jsonObject      。
		jsonObject.element("address", "      ");
		System.out.println("=====        :" + jsonObject);

		//     JSONArray  
		JSONArray jsonArray = new JSONArray();
		jsonArray.add(0, "this is a jsonArray value");
		jsonArray.add(1, "another jsonArray value");
		jsonObject.element("jsonArray", jsonArray);
		//  jsonObject      jsonArray
		JSONArray array = jsonObject.getJSONArray("jsonArray");
		System.out.println(jsonObject);

		System.out.println("=====    JSONArray  :" + array);
		//   JSONArray   
		// {"username":"huangwuyi","sex":" ","QQ":"413425430","Min.score":99,"nickname":"    ","address":"      ","jsonArray":["this is a jsonArray value","another jsonArray value"]}
		System.out.println("=====  :" + jsonObject);

		//   key       
		String username = jsonObject.getString("username");
		System.out.println("=====username:" + username);

		//        JSONObject
		String temp = jsonObject.toString();
		JSONObject object = JSONObject.fromObject(temp);
		//      Key   
		System.out.println("=====qq:" + object.get("QQ"));

	}
}
から出力された結果は、
=====jsonObject:{"username":"huangwuyi","sex":" ","QQ":"413425430","Min.score":99,"nickname":"    "}
=====     :false,     :false, isNullObject:false
=====        :{"username":"huangwuyi","sex":" ","QQ":"413425430","Min.score":99,"nickname":"    ","address":"      "}
{"username":"huangwuyi","sex":" ","QQ":"413425430","Min.score":99,"nickname":"    ","address":"      ","jsonArray":["this is a jsonArray value","another jsonArray value"]}
=====    JSONArray  :["this is a jsonArray value","another jsonArray value"]
=====  :{"username":"huangwuyi","sex":" ","QQ":"413425430","Min.score":99,"nickname":"    ","address":"      ","jsonArray":["this is a jsonArray value","another jsonArray value"]}
=====username:huangwuyi
=====qq:413425430
は次の例です。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonObjectTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		JSONObject jsonObj0 = new JSONObject();
		JSONObject jsonObj = new JSONObject();
		JSONObject jsonObj2 = new JSONObject();
		JSONObject jsonObj3 = new JSONObject();
		JSONArray jsonArray = new JSONArray();

		//   jsonObj0
		jsonObj0.put("name0", "zhangsan");
		jsonObj0.put("sex1", "female");
		System.out.println("jsonObj0:" + jsonObj0);

		//   jsonObj1
		jsonObj.put("name", "xuwei");
		jsonObj.put("sex", "male");
		System.out.println("jsonObj:" + jsonObj);

		//   jsonObj2,      ,       jsonObj0,jsonObj1
		jsonObj2.put("item0", jsonObj0);
		jsonObj2.put("item1", jsonObj);
		System.out.println("jsonObj2:" + jsonObj2);

		//   jsonObj3,      ,   jsonObj2
		jsonObj3.element("j3", jsonObj2);
		System.out.println("jsonObj3:" + jsonObj3);

		//  JSONArray   JSONObject  。  JSONArray JSONObject     JSONArray JSONObject    []
		jsonArray.add(jsonObj);
		System.out.println("jsonArray:" + jsonArray);

		JSONObject jsonObj4 = new JSONObject();
		jsonObj4.element("weather", jsonArray);
		System.out.println("jsonObj4:" + jsonObj4);

	}

}
これは運転の結果です。
jsonObj0:{"name0":"zhangsan","sex1":"female"}
jsonObj:{"name":"xuwei","sex":"male"}
jsonObj2:{"item0":{"name0":"zhangsan","sex1":"female"},"item1":{"name":"xuwei","sex":"male"}}
jsonObj3:{"j3":{"item0":{"name0":"zhangsan","sex1":"female"},"item1":{"name":"xuwei","sex":"male"}}}
jsonArray:[{"name":"xuwei","sex":"male"}]
jsonObj4:{"weather":[{"name":"xuwei","sex":"male"}]}
まとめてみます。JsonArayの対象の中には、括弧があり、addとelementの2つのset方法があり、optとgetの2つのget方法があります。JsonObjectはkeyvalueという形で存在します。putとelementの2つのset方法があります。optとgetの2つのget方法があります。