package com.json;java
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;json
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;ui
import com.test.JsonHelper;.net
/**
* 使用json-lib構造和解析Json數據
* *
*/
public class OrgJsonTest {對象
/**
* 構造Json數據
*
* @return
* @throws JSONException
*/
public static String BuildJson() throws JSONException {字符串
// JSON格式數據解析對象
JSONObject jo = new JSONObject();get
// 下面構造兩個map、一個list和一個Employee對象
Map<String, String> map1 = new HashMap<String, String>();
map1.put("name", "Alexia");
map1.put("sex", "female");
map1.put("age", "23");string
Map<String, String> map2 = new HashMap<String, String>();
map2.put("name", "Edward");
map2.put("sex", "male");
map2.put("age", "24");io
List<Map> list = new ArrayList<Map>();
list.add(map1);
list.add(map2);class
Employee employee = new Employee();
employee.setName("wjl");
employee.setSex("female");
employee.setAge(24);
// 將Map轉換爲JSONArray數據
JSONArray ja = new JSONArray();
ja.put(map1);
System.out.println("JSONArray對象數據格式:");
System.out.println(ja.toString());
// 將Javabean轉換爲Json數據(須要Map中轉)
JSONObject jo1 = JsonHelper.toJSON(employee);
System.out.println("\n僅含Employee對象的Json數據格式:");
System.out.println(jo1.toString());
// 構造Json數據,包括一個map和一個含Employee對象的Json數據
jo.put("map", ja);
jo.put("employee", jo1.toString());
System.out.println("\n最終構造的JSON數據格式:");
System.out.println(jo.toString());
return jo.toString();
}
/**
* 解析Json數據
*
* @param jsonString
* Json數據字符串
* @throws JSONException
* @throws ParseException
*/
public static void ParseJson(String jsonString) throws JSONException,
ParseException {
JSONObject jo = new JSONObject(jsonString);
JSONArray ja = jo.getJSONArray("map");
System.out.println("\n將Json數據解析爲Map:");
System.out.println("name: " + ja.getJSONObject(0).getString("name")
+ " sex: " + ja.getJSONObject(0).getString("sex") + " age: "
+ ja.getJSONObject(0).getInt("age"));
String jsonStr = jo.getString("employee");
Employee emp = new Employee();
JsonHelper.toJavaBean(emp, jsonStr);
System.out.println("\n將Json數據解析爲Employee對象:");
System.out.println("name: " + emp.getName() + " sex: " + emp.getSex()
+ " age: " + emp.getAge());
}
/**
* @param args
* @throws JSONException
* @throws ParseException
*/
public static void main(String[] args) throws JSONException, ParseException {
// TODO Auto-generated method stub
// ParseJson(BuildJson());
String str="{\"Key\":\"法院層級\",\"Value\":\"46839\",\"Child\":[{\"Key\":\"4\",\"Value\":\"38464\"},{\"Key\":\"3\",\"Value\":\"7901\"},{\"Key\":\"2\",\"Value\":\"474\"}]}";
Map map=JsonHelper.toMap(str);
String child=map.get("Child").toString();
JsonHelper.toMap(child.substring(1,child.length()-1));
}
}