java解析和組裝json以及一些方法的理解


這是一個json格式的字符串

第一種情況(簡單格式)

String result = "{\"name\":\"小明\",\"age\":\"12\"}";
JSONObject  json = new JSONObject(result);
System.out.println("name="+json.getString("name")+",age="+json.getString("age"));

 

運行輸出結果 

name=小明,age=12

第二種情況(帶數組)

String result = "{\"name\":\"小明\",\"age\":\"12\",\"family\":[{\"baba\":\"大明\"},{\"mama\":\"小明的媽媽\"},{\"meimei\":\"小明的妹妹\"}]}";
JSONObject jsonobject = new JSONObject(result);
for(int i=0;i<jsonobject.getJSONArray("family").length();i++){
String family = jsonobject.getJSONArray("family").get(i).toString();
JSONObject jsonfamily = new JSONObject(family);
System.out.println(jsonfamily);
}

運行輸出結果

{"baba":"大明"}
{"mama":"小明的媽媽"}
{"meimei":"小明的妹妹"}

json解析就是這些了,如果復雜的話也就是一層一層獲取。

 

 

 

 

json組裝

需要組裝的格式

{
    "status": [
        {
            "title": "標題",
            "contents": [
                {
                    "content": "內容"
                },
                {
                    "content": "內容2"
                }
            ],
            "status": "狀態"
        }
    ],
    "nodetow": "第二個",
    "nodeone": "第一個"
}

開始組裝

JSONObject Msg = new JSONObject();
Msg.put("nodeone", "第一個");
Msg.put("nodetow", "第二個");
JSONArray status = new JSONArray();
JSONObject In = new JSONObject();
In.put("status", "狀態");
In.put("title", "標題");
JSONArray contents = new JSONArray();
JSONObject content = new JSONObject();
content.put("content", "內容");
JSONObject content2 = new JSONObject();
content2.put("content", "內容2");
contents.put(content);
contents.put(content2);
status.put(In);
In.put("contents", contents);
Msg.put("status", status);
System.out.println(Msg);

測試組裝成功。

json中JSONObject的get()與getString()方法的區別

在使用JSONObject的時候,使用getString()獲取值,發現報錯了,異常是返回的類型不是一個字符串。后來發現方法用錯了,在這里記錄一下。並分別說一下它們的區別。

get()根據鍵獲取一個對象,就是說,如果使用這個方法,你獲取到的就是一個對象,既然是對象,那么獲取到的就有可能是任意類型。

getString()返回一個字符串的值,你得確認你獲取的值是一個字符串,才使用這個方法,不然就會拋異常了。

 

 

 

轉載:https://blog.csdn.net/woshimeihuo/article/details/50509191


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM