1>:推荐JSON学习的网址:http://www.w3school.com.cn/json/index.asp
2>:JSON:
JavaScript 对象表示法(JavaScript Object Notation),详细介绍呢,见上面的网址即可,这里重实践,轻理论,理论知识呢,去权威网站看比较靠谱。
3>重点介绍一个Javascript()函数:eval()函数;
用法见网址:http://www.w3school.com.cn/jsref/jsref_eval.asp
案例如下所示:
创建如index.jsp,源码如下;
注意:写法四和写法五
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>json的使用</title>
8 </head>
9 <body>
10 <script type="text/javascript">
11 //写法一,引进
12 var user={id:'1001',name:'张三'};
13 alert(user.id+" "+user.name);
14
15 //写法二,引进
16 var person={id:'1002',eat:function(){
17 alert("李四爱吃饭");
18 }};
19 alert(person.id);
20 person.eat();
21
22 //写法三,实践
23 //eval()方法的使用
24 var a='alert("提示的信息")';
25 //eval() 函数可计算某个字符串,并执行其中的的 JavaScript代码
26 eval(a);
27
28 //写法四,实践
29 var teacher={id:'1003',name:'王五'};
30 var tea=eval(teacher);
31 alert("编号:"+tea.id+" "+"姓名:"+tea.name);
32
33 //写法五,实践
34 var teacher="{id:'1003',name:'王五'}";
35 var tea=eval("("+teacher+")");
36 alert("编号:"+tea.id+" "+"姓名:"+tea.name);
37
38 </script>
39
40 </body>
41 </html>
效果如下所示:
4>JSON数组的使用,创建一个json.jsp,源码如下所示:
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>json的练习</title>
8 </head>
9 <body>
10 <script type="text/javascript">
11 //JSON数组,如何在页面显示json的数组格式
12 var emp={"totle":5,"employees":[
13 {"id":1001,"name":'张三'},
14 {"id":1002,"name":'李四'},
15 {"id":1003,"name":'王五'},
16 {"id":1004,"name":'赵六'},
17 {"id":1005,"name":'周七'}
18 ]};
19
20 alert("雇员总数:"+emp.totle);
21 for(var i=0;i<emp.employees.length;i++){
22 alert(emp.employees[i].id+" "+emp.employees[i].name);
23 }
24
25 </script>
26
27
28 </body>
29 </html>
演示效果如下所示:
5>思考如何将后台的数据格式构建成前台页面显示的格式呢???
第一种方式:手动构建,想想都够蛋疼的了,太麻烦了,手动构建;
String json="{'id:'"+user.getId()+",'name:'"+user.getName()+"}";
1 package com.bie.test;
2
3 import com.bie.po.User;
4
5 /**
6 * @author BieHongLi
7 * @version 创建时间:2017年3月9日 上午11:11:24
8 *
9 */
10 public class UserTest {
11
12 public static void test1(){
13 //数据库查询的记录
14 User user=new User();
15 user.setId(1001);
16 user.setName("张三");
17
18 //如何将后台的数据构建成为json格式呢"" ==> {} ==> "" ==> ++ ==> ''
19 String json="{'id:'"+user.getId()+",'name:'"+user.getName()+"}";
20 System.out.println(json);
21 }
22
23 public static void main(String[] args) {
24 //调用第一个test1()方法
25 test1();
26 }
27
28 }
演示效果如下所示:
第二种方式:使用apache下面封装好的jar包
(1):第一步,导入json的jar包,如下所示的jar包;
链接:http://pan.baidu.com/s/1jH6gN46 密码:lbh1
(2):开始使用apache这个公益组织封装好的jar进行测试;
分别测试将对象,将数组,将集合转化为json格式。
牢记,熟练应用集合转化为json格式。
1 package com.bie.test;
2
3 import com.bie.po.User;
4
5 import net.sf.json.JSONObject;
6
7 /**
8 * @author BieHongLi
9 * @version 创建时间:2017年3月9日 上午11:11:24
10 *
11 */
12 public class UserTest {
13
14 public static void test1(){
15 //数据库查询的记录
16 User user=new User();
17 user.setId(1001);
18 user.setName("张三");
19
20 //如何将后台的数据构建成为json格式呢"" ==> {} ==> "" ==> ++ ==> ''
21 String json="{'id:'"+user.getId()+",'name:'"+user.getName()+"}";
22 System.out.println(json);
23 }
24
25 //将对象转化为json
26 public static void test2(){
27 //数据库查询的记录
28 User user=new User();
29 user.setId(1002);
30 user.setName("李四");
31
32 //一定要引入所需的jar包,才可以使用此对象哦
33 JSONObject obj=JSONObject.fromObject(user);
34 System.out.println(obj);
35 }
36
37 public static void main(String[] args) {
38 //调用第一个test1()方法
39 //test1();
40
41 //调用第二个test2()方法
42 test2();
43
44 }
45
46 }
演示效果如下所示:
下面是将数组和集合转化为json格式的,最重要的是将集合转化为json格式的哦。
1 package com.bie.test;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import com.bie.po.User;
7
8 import net.sf.json.JSONArray;
9 import net.sf.json.JSONObject;
10
11 /**
12 * @author BieHongLi
13 * @version 创建时间:2017年3月9日 上午11:11:24
14 *
15 */
16 public class UserTest {
17
18 public static void test1(){
19 //数据库查询的记录
20 User user=new User();
21 user.setId(1001);
22 user.setName("张三");
23
24 //如何将后台的数据构建成为json格式呢"" ==> {} ==> "" ==> ++ ==> ''
25 String json="{'id:'"+user.getId()+",'name:'"+user.getName()+"}";
26 System.out.println(json);
27 }
28
29 //将对象转化为json
30 public static void test2(){
31 //数据库查询的记录
32 User user=new User();
33 user.setId(1002);
34 user.setName("李四");
35
36 //一定要引入所需的jar包,才可以使用此对象哦
37 JSONObject obj=JSONObject.fromObject(user);
38 System.out.println(obj);
39 }
40
41 //将数组转化为json
42 public static void test3(){
43 String[] arr={"张三","李四","王五"};
44 JSONArray array=JSONArray.fromObject(arr);
45
46 System.out.println(array);
47 }
48
49 //将ArrayList转化为json格式
50 public static void test4(){
51 List<User> list=new ArrayList<>();
52 for(int i=0;i<10;i++){
53 User user=new User(i,"张三"+i);
54 list.add(user);
55 }
56
57 JSONArray listArray=JSONArray.fromObject(list);
58 System.out.println(listArray);
59
60 }
61
62
63 public static void main(String[] args) {
64 //调用第一个test1()方法
65 //test1();
66
67 //调用第二个test2()方法
68 //test2();
69
70 //调用第第三个test3()方法
71 //test3();
72
73 //调用第四个test4()方法
74 test4();
75 }
76
77 }
演示 效果如下所示:
JSON和AJAX更搭配哦,必会哦,向着胜利的曙光,go!!!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有