1. 程式人生 > >JSON數據的生成與解析

JSON數據的生成與解析

turn sco 個數 學生 jar包 網上 get main gets

JSON數據的生成與解析。首先先到網上下載一個json jar包,我用的是org.json


演示樣例代碼:

package json;

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

public class Main {
	/**
	 * 生成Json數據
	 */
	public static String createJson(){
		JSONObject json = new JSONObject();
		json.put("classId", 1);      //班級
		json.put("grade", 1);        //年級
		
		JSONArray array = new JSONArray();
		
		JSONObject o1 = new JSONObject();     //第一個學生
		o1.put("id", "101");
		o1.put("name", "zhangsan");
		array.put(o1);
		
		JSONObject o2 = new JSONObject();
		o2.put("id", "102");
		o2.put("name", "lisi");
		o2.put("score", 100);
		array.put(o2);
		
		json.put("student", array);
		return json.toString();
	}
	public static void main(String[] args) {
		//輸出生成的JSON數據
		String s = createJson();
		System.out.println(s);
		
		//解析JSON數據
		System.out.println("解析JSON數據:");
		JSONObject obj = new JSONObject(s);       //依據json文本生成JSONObject
		int classId = obj.getInt("classId");
		int grade = obj.getInt("grade");
		JSONArray array = (JSONArray) obj.get("student");
		for(int t=0; t<array.length(); ++t){
			JSONObject o = (JSONObject)array.get(t);
			String id = o.getString("id");
			String name = o.getString("name");
			//int score = o.getInt("score");   //由於有一個數據沒有,找不到的話會拋出異常
			System.out.println(id+" "+name);//+" "+score);
		}
		
	}

}

執行結果:

技術分享

JSON數據的生成與解析