JSON 对象
{ "name":"张三" , "age":22}
JSON 数组
{
"student": [
{ "name":"张三" , "age":22 },
{ "name":"李四" , "age":23 },
{ "name":"王五" , "age":24 }
]
}
JSON 嵌套
{
"student": [
{ "name":"张三" , "age":22 ,"score":{"chinese":90,"math":100,"english":80} },
{ "name":"李四" , "age":23 ,"score":{"chinese":70,"math":90, "english":90} },
{ "name":"王五" , "age":24 ,"score":{"chinese":80,"math":60, "english":90} }
]
}
把Json 串换成Json 对象
var dataObj=eval("("+data+")");//转换为json 对象
下面有三种方法让servlet向jsp页面输出json对象
获得json对象
private void getJsonObject(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
//通过拼凑字符串的方式的json对象
//String resultJson = "{\"name\":\"张三\",\"age\":44}";
//通过jsonlib包创建json对象
JSONObject resultJson = new JSONObject();
resultJson.put("name", "张三");
resultJson.put("age", 444);
out.println(resultJson);
out.flush();
out.close();
}
获得json数组
private void getJsonArray(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
JSONObject resultJson = new JSONObject();
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("name", "张三");
jsonObject1.put("age", 22);
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("name", "张三");
jsonObject2.put("age", 33);
JSONObject jsonObject3 = new JSONObject();
jsonObject3.put("name", "张三");
jsonObject3.put("age", 44);
jsonArray.add(jsonObject1);
jsonArray.add(jsonObject2);
jsonArray.add(jsonObject3);
resultJson.put("students", jsonArray);
out.println(resultJson);
out.flush();
out.close();
}
获得json嵌套对象
private void getJsonNested(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
JSONObject resultJson = new JSONObject();
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("name", "张三");
jsonObject1.put("age", 22);
JSONObject scoreObject1 = new JSONObject();
scoreObject1.put("chinese", 22);
scoreObject1.put("math", 33);
scoreObject1.put("english", 32);
jsonObject1.put("score", scoreObject1);
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("name", "张三");
jsonObject2.put("age", 33);
JSONObject scoreObject2 = new JSONObject();
scoreObject2.put("chinese", 22);
scoreObject2.put("math", 33);
scoreObject2.put("english", 32);
jsonObject2.put("score", scoreObject2);
JSONObject jsonObject3 = new JSONObject();
jsonObject3.put("name", "张三");
jsonObject3.put("age", 44);
JSONObject scoreObject3 = new JSONObject();
scoreObject3.put("chinese", 22);
scoreObject3.put("math", 33);
scoreObject3.put("english", 32);
jsonObject3.put("score", scoreObject3);
jsonArray.add(jsonObject1);
jsonArray.add(jsonObject2);
jsonArray.add(jsonObject3);
resultJson.put("students", jsonArray);
out.println(resultJson);
out.flush();
out.close();
}