Json的简单使用

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!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FD的专栏

写出形似QML的C++代码

我的第一个想法(居然?)是做个Embedded-DSL。不过C++又不是Ruby……随便搜了一下,发现了一篇文章,也只是利用了重载运算符和运算符优先级,看上去限...

7120
来自专栏菜鸟致敬

记一次两小时的js编程学习

1.弱类型语言 2.解释型语言 3.客户端语言 对于有学习Java、C以及Python一类的人来说,最熟悉的莫过于这些都是强类型语言。它们严格的遵守自身的规定,...

9420
来自专栏成长道路

scala的maven项目读取配置文件

scala的maven项目读取src/main/resources目录下的资源文件该如何读取呢? 下面提供一种默认的和一种自定义的: ? 对于applicati...

51000
来自专栏余林丰

Effective Java通俗理解(下)

第31条:用实例域代替序数   枚举类型有一个ordinal方法,它范围该常量的序数从0开始,不建议使用这个方法,因为这不能很好地对枚举进行维护,正确应该是利用...

29190
来自专栏小樱的经验随笔

Codeforces 714A Meeting of Old Friends

A. Meeting of Old Friends time limit per test:1 second memory limit per test:256...

391100
来自专栏技术博客

编写高质量代码改善C#程序的157个建议[泛型集合、选择集合、集合的安全]

    软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须...

13930
来自专栏影子

jQuery中的常用内容总结(三)

转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7571998.html

11110
来自专栏大内老A

采用一个自创的"验证框架"实现对数据实体的验证[扩展篇]

关于“验证框架”,先后推出了《编程篇》、《设计篇》和《改进篇》,本不打算再写《XXX篇》的。但是今天收到两个园友的短消息,想了解一下如何定义自己的验证规则。这实...

22770
来自专栏difcareer的技术笔记

JNI实现源码分析【四 函数调用】正文0x01:dvmCallMethodV0x02:nativeFunc0x03: 何时赋值

有了前面的铺垫,终于可以说说虚拟机是如何调用JNI方法的了。JNI方法,对应Java中的native方法,所以我们跟踪对Native方法的处理即可。

11540
来自专栏Golang语言社区

动手实现一个JSON验证器(上)

分析 既然要验证JSON的有效性,那么必然需要清楚的知道JSON格式,这个在JSON官网已经给我们画出来了: ? ? ? ? ? 从官方的图上面可以看出,JSO...

53770

扫码关注云+社区

领取腾讯云代金券