一、产生背景
JSON是一种轻量级的数据交换格式,它的语法是javascript语法的子集,用处是简化前后台数据交换。
二、JSON语法格式:
注:将json转为JSON对象一般是在前端转,然后方便取数据。
三、JSON具体写法
1.服务器:
-
引入json-lib(json的Jar包):在服务器端可以用字符串的形式传递数据,但每次手写拼接字符串非常麻烦,所以可引入json的jar包,用json语法进行数据书写。(数组用JSONArray,类用JSONObject,这两种方法就能解决所以问题,可嵌套。)
-
实例:
//{"jsonArray":[{"name":"袁欢","age":22},{"name":"张三","age":21}]}就等同于下面代码 JSONObject jsonObject = 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", 21); jsonArray.add(jsonObject1); jsonArray.add(jsonObject2); jsonObject.put("student", jsonArray); //以文本方式发送至页面 PrintWriter pw=resp.getWriter(); pw.print(jsonArray);//JSONArray和JSONObject中toString方法就是将数据格式改为json的数据格式{”key":"value"} //pw.print(jsonObject); pw.flush();; pw.close();
在页面接收文本
-
先将接收到的文本转为json对象(或者说是js对象),在通过 . 的方式获取(数组用对象[i] 的方式)
-
实例(以上面服务器传送过来的字符串为例子)
var data=eval("("+xmlHttpRequest.responseText+")");//转为json对象 alert(data[0].name + " " + data[0].age); alert(data[1].name + " " + data[1].age);