Json總結
来源:互联网 发布:淘宝运营推广视频教程 编辑:程序博客网 时间:2024/06/05 08:24
1.Json—>Java
1.1:JavaScript代碼:
var user = {
"name": "wujianjun",
"age": "19",
"addr": ['重庆','上泫'],
"live": [{
"city": "家",
"jie": "小学"
},{
"city": "学校",
"jie": "高中"
}]
};
var temp = user.toJSONString();
1.2:Ajax請求
1.3:Java類:
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
StringBuffer content = new StringBuffer();
BufferedReader fr = request.getReader();
String temp = null;
while((temp = fr.readLine()) != null)
content.append(temp);
System.out.println(content);
JSONObject jsonObj = JSONObject.fromObject(content.toString());
//得到前台传来的数组
JSONArray arr = jsonObj.getJSONArray("addr");
String YouAddr = "";
Iterator<Object> ite = arr.iterator();
while(ite.hasNext()) {
YouAddr += ite.next() + "/n/t";
}
//得到前台传来的实体数组
StringBuffer jie = new StringBuffer();
JSONArray jieArr = jsonObj.getJSONArray("live");
ite = jieArr.iterator();
JSONObject subObj = null;
while(ite.hasNext()) {
subObj = (JSONObject) ite.next();
String address = subObj.getString("city");
String jietext = subObj.getString("jie");
jie.append(address + " " + jietext + "/n/t");
}
out.println("您的名称:" + jsonObj.get("name") + "/n您的年龄: " + jsonObj.get("age")+
"/n您的地址:" + YouAddr + "/n-------------------" + "/n你的经历:/n/t" + jie);
out.flush();
out.close();
2.Java—>Json
2.1:Ajax請求
2.2:Java類:
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String json = "{'name': 'wujianjun','addr': ['重庆','上海'],'live': [{'city': '家','jie': '小学'},{'city': '学校','jie': '高中'}]}" ;
out.println(json);
out.flush();
out.close();
2.3:Javascript囘調函數:
var result =httpRequest.responseText;
try{
var obj = window.eval('(' + result + ')');
alert(obj.addr);
alert(obj.live.length);
}catch(e){
alert("ERROR:" + e);
}
3.Java中如何把值放入Json對象:
String json = "{'name':'reiz'}";
/***
* 转变成一个JSON对象
*/
JSONObject jsonObj = JSONObject.fromObject(json);
/***
* 得到json对象中的值,通过key得到值
*/
String name = jsonObj.getString("name");
/**
* 放入一个普通值到json对象中
*/
jsonObj.put("initial", name.substring(0, 1).toUpperCase());
/***
* 把一个数组作为一个key的值放入json对象中
*/
String[] likes = new String[] { "JavaScript", "Skiing", "Apple Pie" };
jsonObj.put("likes", likes);
/***
* 把一个Map对象作为一个key的值放入json对象中
*/
Map<String, String> ingredients = new HashMap<String, String>();
ingredients.put("apples", "3kg");
ingredients.put("sugar", "1kg");
ingredients.put("pastry", "2.4kg");
ingredients.put("bestEaten", "outdoors");
jsonObj.put("ingredients", ingredients);
/**
* 输出
*/
System.out.println(jsonObj);
System.out.println(jsonObj.getJSONArray("likes"));
System.out.println(jsonObj.getJSONObject("ingredients"));