您的位置:首页 > Web前端 > JavaScript

Json的简单使用

2017-04-19 14:36 302 查看
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!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: