JSON

1、概述

JSON是JavaScript Object Notation 的缩写,是JS提供的一种数据交换格式。

JSON对象本质上就是一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转换为其他语言中的对象。

2、

bean->Student类

package bean;

public class Student {
	private String name;

	public Student() {
		super();
	}

	public Student(String name) {
		super();
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "Student [name=" + name + "]";
	}
	
}

servlet->JSONServlet.java

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

import bean.Student;

/**
 * 给前台响应数据的Sevlet
 */
public class JSONServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private Gson gson;
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		//假设从数据库中查询出来了一个学生的信息
		Student student = new Student("afei");
		//创建gson对象
		Gson gson = new Gson();
		//将Student对象转换为字符串
		String json = gson.toJson(student);
		
		//给前台响应一个JSON字符串
		//response.getWriter().write("{\"name\":\"afei\",\"age\":18}");
		response.getWriter().write(json);
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

index.html

/Web_JSON/WebContent/WEB-INF/lib/gson-2.2.4.jar

<!DOCTYPE html>
<html>
<head>
<script  src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	//1、JSON对象
	//属性名必须使用双引号括起来;属性名和属性值之间使用冒号分隔
	//var jsonObj = {"name":"afei","age":18};
	//alert(jsonObj.name);
	//2、JSON数组
	var jsonArray = ["afei",false,100,null,jsonObj];
	//alert(jsonArray[4].age);
	var jsonObj = {
					"name":"afei",
					"age":18,
					"friends":[
						{"name":"afei1"},
						{"name":"afei2"},
						{"name":"afei3"}
					]
			
	};
	//alert(jsonObj.friends[2].name);
	//将json对象转换为JSON字符串
	var string = JSON.stringify(jsonObj)
	//alert(string);
	//将JSON字符串转换为json对象
	var jsonObj1 = JSON.parse(string);
	//alert(jsonObj1.name);
	$(function(){
		//给按钮绑定单击事件
		$("#btnId").click(function(){
			//设置请求地址
			var url = "JSONServlet";
			//发送Ajax请求
			$.post(url,function(res){
				alert(res.name+"无敌!!");
			},"json")//设置数据类型,可以为text或者json,Jquery会自动转换
		})
	});
</script>
</head>
<body>
	<button id="btnId">发送Ajax请求响应json数据</button>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yongfeicao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值