最近自己负责的项目涉及到JSON数据的解析,所以在学习之后讲讲自己的认识及见解,希望对大家有帮助.
首先我们来讲讲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格式的字符串怎么处理?
1 2 3 4 5 6 7 8 9 | 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格式的字符串?
1 2 3 4 5 6 7 | 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格式的字符串?
1 2 3 4 5 6 7 8 9 10 | 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格式的字符串?
1 2 3 4 5 6 | 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字符串?
1 2 3 4 5 6 7 8 | 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());
}
|
