_059_Android_JSONObject使用方法及詳解
轉自https://blog.csdn.net/xifei66/article/details/59058289,感謝作者的無私分享。
JSONObject,JSON的資料格式如下:
[ { name1 : { name2: { name3: ' value1' , name4: ' value2 ' } } } , { } ]
從外到裡看,例子中就是一個數組,數組裡面是兩個json格式的字串,取出name4值過程步驟:
1,將以上字串轉換為JSONArray物件;
2,取出物件的第一項,JSONObject物件;
3,取出name1的值JSONObject物件;
4,取出name2的值JSONObject物件;
5,取出name4的值value2。
示例中json陣列格式的字串可以通過方法直接轉換為JSONArray的格式:JSONArray.fromObject(String)
JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//將結果轉換成JSONArray物件的形式
JSONObject getJsonObj = getJsonArray.getJSONObject(0);//獲取json陣列中的第一項
String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");
二.
1,JSONObject
json物件,就是一個鍵對應一個值,使用的是大括號{ },如:{key:value}
2,JSONArray
json陣列,使用中括號[ ],只不過數組裡面的項也是json鍵值對格式的
Json物件中新增的是鍵值對,JSONArray中新增的是Json物件
JSONObject Json = new JSONObject();
JSONArray JsonArray = new JSONArray();
Json.put("key", "value");//JSONObject物件中新增鍵值對
JsonArray.add(Json);//將JSONObject物件新增到Json陣列中
三.下面來看看XML和JSON之間的互相轉換
question1:後臺接受到前臺的json格式的字串怎麼處理?
public static void jsonToJAVA() { System.out.println("json字串轉java程式碼"); String jsonStr = "{\"password\":\"\",\"username\":\"張三\"}"; JSONObject jsonObj = JSONObject.fromString(jsonStr); String username = jsonObj.getString("username"); String password = jsonObj.optString("password"); System.out.println("json--->java\n username=" + username + "\t password=" + password); }
question2:後臺是怎麼拼裝json格式的字串?
public
static void javaToJSON() {
System.out.println("java程式碼封裝為json字串");
JSONObject jsonObj = new
JSONObject();
jsonObj.put("username", "張三");
jsonObj.put("password", "");
System.out.println("java--->json \n" + jsonObj.toString());}
question3:json格式的字串怎麼轉換為xml格式的字串
public
static void jsonToXML() {
System.out.println("json字串轉xml字串");
String jsonStr = "{\"password\":\"\",\"username\":\"張三\"}";
JSONObject json = JSONObject.fromString(jsonStr);
XMLSerializer xmlSerializer = new
XMLSerializer();
xmlSerializer.setRootName("user_info");
xmlSerializer.setTypeHintsEnabled(false);
String xml = xmlSerializer.write(json);
System.out.println("json--->xml \n" + xml);
}
question4:xml格式的字串怎麼轉換為json格式的字串
public
static void xmlToJSON(){
System.out.println("xml字串轉json字串");
String xml = "<?xml version=\".\" encoding=\"UTF-\"?><user_info><password></password><username>張三</username></user_info>";
JSON json=XMLSerializer.read(xml);
System.out.println("xml--->json \n"+json.toString());
}
question5:javabean怎麼轉換為json字串
public
static void javaBeanToJSON() {
System.out.println("javabean轉json字串");
UserInfo userInfo = new
UserInfo();
userInfo.setUsername("張三");
userInfo.setPassword("");
JSONObject json = JSONObject.fromBean(userInfo);
System.out.println("javabean--->json \n" + json.toString());
}