本範例使用 org.json 來做 JSON 編碼、解碼。
下載回來後記得更改資料夾名稱 以符合 import org.json 的路徑
最好開啟下載回來的程式碼 Java 檔,查看 import 路徑是否正確,不正確請改到正確

org.json 官網:http://www.json.org/java/ 
org.json 下載:https://github.com/douglascrockford/JSON-java

import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONObject;
 
public class NewClass {
 
    public static void main(String[] args) {
        EncodingExamples(); // 編碼範例
        DecodingExamples(); // 解碼範例
    }
 
    static String myJson;
 
    static void EncodingExamples() {
        JSONObject obj = new JSONObject();
        obj.put("A", "aaa");
        obj.put("B", 123);
        obj.put("C", 1.2345);
        obj.put("D", true);
 
        JSONArray list = new JSONArray();
        list.put("E");
        list.put("F");
        list.put("G");

        Map m = new HashMap();
        m.put("X", "xxx");
        m.put("Y", "yyy");
        m.put("Z", "zzz");
 
        list.put(m);
 
        obj.put("Messages", list);
 
        myJson = obj.toString();
 
        System.out.println("Encoding Examples : " + myJson);
        System.out.println("---------------------------------------------------");
    }
 
    static void DecodingExamples() {
        JSONObject root = new JSONObject(myJson);
        System.out.println("Decoding Examples : ");
        System.out.println(root.get("A"));
        System.out.println(root.get("B"));
        System.out.println(root.get("C"));
        System.out.println(root.get("D"));
        System.out.println(root.get("Messages"));
        System.out.println(root.getJSONArray("Messages"));
 
        JSONArray a = root.getJSONArray("Messages");
        for (int i = 0; i < a.length(); i++) {
            System.out.println(a.get(i));
        }

        JSONObject m = (JSONObject) a.get(3);
        System.out.println(m.get("X"));
        System.out.println(m.get("Y"));
        System.out.println(m.get("Z"));
    }
 
}

執行結果:

Encoding Examples : {"A":"aaa","B":123,"C":1.2345,"Messages":["E","F","G",{"X":"xxx","Y":"yyy","Z":"zzz"}],"D":true}
---------------------------------------------------
Decoding Examples :
aaa
123
1.2345
true
["E","F","G",{"X":"xxx","Y":"yyy","Z":"zzz"}]
["E","F","G",{"X":"xxx","Y":"yyy","Z":"zzz"}]
E
F
G
{"X":"xxx","Y":"yyy","Z":"zzz"}
xxx
yyy
zzz








 
arrow
arrow
    全站熱搜

    黃彥霖 發表在 痞客邦 留言(3) 人氣()