來源:
http://m.tkk7.com/jlins-you/archive/2012/06/22/381292.html
json除了可以用于前臺傳遞,還可用于后臺之間傳遞。它可以傳遞List,Map,Bean等類型的數(shù)據(jù)。
例如: User u1=new User();
u1.setUsername("zy");
u1.setPassword("123");
User
u2=new
User();
u2.setUsername("msl");
u2.setPassword("456");
List list =
new ArrayList(); //把兩個對象放進(jìn)list中
list.add(u1);
list.add(u2);
JSONArray jsonArray = JSONArray.fromObject( list ); //把list放進(jìn)json數(shù)組
Map map = new HashMap();
map.put("message", "111");
map.put("users", jsonArray); //把json數(shù)組做為一個值放進(jìn)Map中
JSONObject jsonObject =
JSONObject.fromObject(map); //把map放進(jìn)json對象中
PrintWriter out =
response.getWriter();
out.print(jsonObject); //
傳遞json
傳遞的json格式為:
{"message":"111","users":[{"password":"123","username":"zy"},{"password":"456","username":"msl"}]}
在接收端的java文件中取:
returnJson是從輸入流中得到的json格式的字符串。輸出為:
{"message":"111","users":[{"password":"123","username":"zy"},
{"password":"456","username":"msl"}]}
if(returnJson !=null&& returnJson !=""){
String
strJson = returnJson.replace("?(", "").replace(")", "").replace(";",
"");
if(strJson.startsWith("{")){
JSONObject
jsonObject = JSONObject.fromObject(strJson);
JSONArray jsonArray =
JSONArray.fromObject(jsonObject.get("users"));
for (int i =
0, len = jsonArray.size(); i < len; i++) {
JSONObject jsonUser =
jsonArray.getJSONObject(i);
User vo = (User)JSONObject.toBean(jsonUser,
User.class);
System.out.println(vo.getUsername()+":"+vo.getPassword());
}
}
}
更多信息請查看 java進(jìn)階網(wǎng)http://www.javady.com