java——json入门,什么是json

1、什么是json:
json是一种数据格式,对于我们互联网来说,我们服务器和客户端有大量的数据需要进行传输。以前通用的方式是xml,但是xml数据体重太大,效率低下,所以就有了另外一种数据格式,叫json
json一共有两种体现:
json对象、json数组

json对象:json本身是一个字符串,{建:值, 建:值}
这里写图片描述
举例
“{“roleId”:1, “roleName”:”财务”, “roleStatu”:”1”, “createdate”:”2018年7月30日”}”
简单来说就是一个用于描述对象的字符串。

json数组:

    [{"roleId":1, "roleName":"财务1", "roleStatu":"1", "createdate":"2018年7月30日"}
    ,{"roleId":1, "roleName":"财务2", "roleStatu":"1", "createdate":"2018年7月30日"}
    ,{"roleId":1, "roleName":"财务3", "roleStatu":"1", "createdate":"2018年7月30日"}
    {"roleId":1, "roleName":"财务4", "roleStatu":"1", "createdate":"2018年7月30日"}
    ]

json数组就是只的里面可以装多个json对象,用逗号隔开,
这里写图片描述
json有什么用?
json就是吧服务器需要回传给客户端的数据以贵方的形式组装成字符串,然后传输到客户端,客户端接收之后就可以自动解析获取数据。
这里写图片描述

基于此,json想应用于各种编程语言就必须要为各种编程语言提供解析json的工具和源代码。所以我们就需要下载json的jar包。

json入门案例:

java是以类创建对象来描述数据的,我们需要用java吧我们的javaBean转换成json对象,然后传输给客户端,客户端在吧数据解析出来。
1、下载jar包
这里写图片描述
包全部导入到我们的项目:

1、javaBean转json

        Role role = new Role(1,"财务",new Date().toLocaleString());

        //吧javaBean转换成json
        JSONObject json = JSONObject.fromObject(role);
        System.out.println(json.toString());

        /**
            {"createDate":"2018-7-30 15:11:24","id":1,"name":"财务"}  
         */

2、java集合转json
我们java返回多个数据一般都是使用集合,ArrayList居多,
Role role1 = new Role(1,”财务”,new Date().toLocaleString());
Role role2 = new Role(2,”会计”,new Date().toLocaleString());
Role role3 = new Role(3,”出纳”,new Date().toLocaleString());
ArrayList list = new ArrayList();
list.add(role1);
list.add(role2);
list.add(role3);

    JSONArray array = JSONArray.fromObject(list);
    System.out.println(array);

如果其他的如linkedList,Vector也是如此操作

3、有时我们为了极简开发会使用Map,map转json如下操作

    HashMap<String, Object> rolemap = new HashMap<String, Object>();
        rolemap.put("roleId", 1);
        rolemap.put("roleName", "财务");
        rolemap.put("createDate", new Date().toLocaleString());

        JSONObject json2 = JSONObject.fromObject(rolemap);
        System.out.println(json2);

json返回数据主要是应用与客户端有多种体现,比如客户端同时出现安卓、ios、html等情况,
还有很多网站服务器控制层和模型曾用java实现,视图层用php或者asp实现,可以减少服务器的压力,这些都可以是json发挥最大作用

猜你喜欢

转载自blog.csdn.net/sky274548769/article/details/81285837