json简单学习

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();
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值