jar包:
json-lib–json对象
commons-beanutils—json.put时需要用到bean
服务器端:
JSONObject json=new JSONObject();
json.put("car_name","奔驰");
JSONObject json=new JSONObject();
PrintWriter out = response.getWriter();
out.append(Json.toString());
前端:
$.ajax({
type: "GET",
url:"http://localhost:8080/big/gogo?type=login",//请求课附加值
data:{},
success: function(json){ //如果success则执行函数,json用来接收服务器传回的数据
alert(json["name"]);
}
});
如果要一次返回多个json对象,则需要用到jsonArray
服务器端
JSONObject json=new JSONObject();
JSONArray J=new JSONArray();
//jsonarray的服务器端传输方式
int m=M.size();
for(i=0;i<m;i++) {
json.put("car_name",M.get(i).getCar_name());
json.put("price",M.get(i).getPrice() );
json.put("cid",M.get(i).getCar_id());
J.add(json);
json.clear();
}
PrintWriter out = response.getWriter();
out.append(J.toString());
前端:
和上面差不多,下面就介绍一些jsonArray的处理方法
jsonArray的访问
在前端处理json数据时,用下标即可:
jsonArray[i]
Ps:因为一个json内可能有多个键值对,所以这jsonArray还能类二维数组这样访问
jsonArray[i][j]
也可以这样
jsonArray[i]["name"]
name 是key,这样可以得到其值
但是,有一种情况要注意!
就是key为数字时
例:
jsonArray[i]["2"]
访问的不是key为2的值,而是下标为2的值
jsonArray的遍历
int i=0;
while(jsonArray[i]){
i++;
}
对了,json对象其实也是可以遍历的
for(i in json){}