转自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());
}