1.什么是JSON
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
2.JSON语法
{“属性1” : ”值1” , ”属性2” : ”值2”}
属性值数据类型:
数值 : 2 2.3 -5
字符串:”jack”
数组 : []
boolean: true/false
对象 : {}
3.页面处理json数据
<script type="text/javascript"> //数值和字符串类型 var json = {"name":"张珊","age": 18 ,"sex":"女"}; //alert(json.name); //alert(json.age); //alert(json.sex); //对象类型 var json2 = {"person" : {"name":"张珊","age": 18 ,"sex":"女"} } //alert(json2.person.name); //数组类型 var json3 = {"list" : [{"name":"张珊","age": 18 ,"sex":"女"},{"name":"李思","age": 20 ,"sex":"男"}] } alert(json3.list[1].name); </script>
4.服务器如何把Java数据转成json格式数据
4.1页面接收json对象
<body> <button>点击获去json数据(对象)</button> <button>点击获去json数据(集合)</button> </body> <script type="text/javascript"> $(function(){ $("button").eq(0).click(function(){ //点击获去json数据(对象) $.ajax({ "url" : "/JQuery_demo2/json.do", "type" : "GET", "success" : function(data){ //alert(data); console.log(data) //alert(data.id); }, "dataType" : "json" }) }) $("button").eq(1).click(function(){ //点击获去json数据(集合) $.ajax({ "url" : "/JQuery_demo2/json.do", "type" : "POST", "success" : function(data){ console.log(data) }, "dataType" : "json" }) }) }) </script>
4.2 Java对象转json
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //模拟对象数据 User user = new User(1001,"努努","男",22); //把对象转成json //需要第三方插件 jar包 //使用JSONObject 把Java对象转成了 json对象 推荐使用 JSONObject json = JSONObject.fromObject(user); //使用JSONArray 把Java对象转成了 json数组 //JSONArray json = JSONArray.fromObject(user); PrintWriter out = response.getWriter(); out.write(json.toString()); out.close(); }
4.3集合转json
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //模拟集合数据 ArrayList<User> list = new ArrayList<User>(); list.add(new User(1001,"努努","男",22)); list.add(new User(1002,"璐璐","女",14)); list.add(new User(1003,"萌萌","女",19)); //把集合转成json //使用JSONArray 把集合转成了 json数组 JSONArray json = JSONArray.fromObject(list); response.setContentType("appliction/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.write(json.toString()); out.close(); }