JSONObject的使用(javabean, json字符串, XML之间的转换)
总结:
拼装json字符串
XML-->json字符串
json字符串-->javabean
json字符串-->XML
javabean-->json字符串
javabean-->XML
------------------------------------------------------
UserInfo.java:
private String username; private String password; +getter()/setter()
JSONObject_1_3.java:
package json; import java.io.UnsupportedEncodingException; import net.sf.json.JSONObject; /** * 说明: 以下例子学习到JSONObject的常用方法的使用, 具体的方法请看JSONObject API * 链接: http://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects/com/esri/arcgis/server/json/JSONObject.html * 需要用到的测试数据: * JSON: {"password":"123456","username":"张三"} * XML: * <?xml version="1.0" encoding="UTF-8"?> <user_info> <password>123456</password> <username>张三</username> </user_info> */ public class JSONObject_1_3 { public static void main(String[] args) throws UnsupportedEncodingException {
// 示例1: 后台接受到前台的json格式的字符串怎么处理? String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}"; // 前端传过来的json串 JSONObject jsonObj = JSONObject.fromString(jsonStr); String username = jsonObj.getString("username"); // 从json串中解析出用户名 String password = jsonObj.getString("password"); // 从json串中解析出密码 System.out.println(username + " | " + password); // out: 张三 | 123456
// 示例2: 后台是怎么拼装json格式的字符串? /* JSONObject jsonObj = new JSONObject(); jsonObj.put("username", "张三"); // 把用户名拼装到jsonObj对象中 jsonObj.put("password", "123456"); // 把密码拼装到jsonObj对象中 System.out.println(jsonObj.toString()); // out: {"username":"张三","password":"123456"} */
// 示例3: json格式的字符串怎么转换为xml格式的字符串? /* String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}"; // 前端传过来的json串 JSONObject jsonObj = JSONObject.fromString(jsonStr); XMLSerializer xmlSerializer = new XMLSerializer(); xmlSerializer.setRootName("user_info"); xmlSerializer.setTypeHintsEnabled(false); String xmlStr = xmlSerializer.write(jsonObj); System.out.println(xmlStr); */ /** * out: <?xml version="1.0" encoding="UTF-8"?> <user_info><password>123456</password><username>寮犱笁</username></user_info> */
// 示例4: xml格式的字符串怎么转换为json格式的字符串? /* String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-\"?><user_info><password>12456</password><username>张三</username></user_info>"; JSON jsonStr = XMLSerializer.read(xmlStr); // JSONObject jsonObject = (JSONObject) XMLSerializer.read(xmlStr); System.out.println(jsonStr.toString()); // out: {"username":"张三","password":"12456"} */
// 示例5: javabean怎么转换为json字符串? /* UserInfo userInfo = new UserInfo(); userInfo.setUsername("张三"); userInfo.setPassword("123456"); JSONObject jsonObj = JSONObject.fromBean(userInfo); System.out.println(jsonObj.toString()); // out: {"username":"张三","password":"123456"} */
// 示例6: javabean怎么转换为xml字符串? javabean-->JsonObject-->XML /* UserInfo userInfo = new UserInfo(); userInfo.setUsername("张三"); userInfo.setPassword("123456"); JSONObject jsonObj = JSONObject.fromBean(userInfo); XMLSerializer xmlSerializer = new XMLSerializer(); xmlSerializer.setRootName("user_info"); String xmlStr = xmlSerializer.write(jsonObj, "UTF-8"); System.out.println(xmlStr); */ /** * <?xml version="1.0" encoding="UTF-8"?> <user_info><password type="string">123456</password><username type="string">寮犱笁</username></user_info> */
}