java json格式的轉換和讀取

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));
        
        
    }

}

相關文章
相關標籤/搜索