_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());

 }

猜你喜欢

转载自blog.csdn.net/poiuyppp/article/details/84346628
今日推荐