Json 的基本使用

Json 的优点

Json(javaScript Object Notaion) javaScript 对象表示法

  • Json 轻文本数据交互
  • Json 的独立于语言,具有自我描述性,更容易理解

Json 语法规则

  1. 数据由键(key)值(value)对描述 又逗号分割
  2. 大括号{} 为一个完整的对象,可以有多个键值对
  3. 中括号[] 保存数组 多个对象有逗号分割
  4. 例:

[
  {
    "empon": 7354,
    "ename": "李宁",
    "job": "java工程师",
    "hiredate": "2017-5"
  },
  {
    "empon": 2452,
    "ename": "张三",
    "job": "java工程师",
    "hiredate": "2017-6",
    "custorms": [
      {
        "name": "李四"
      },
      {
        "name": "王五"
      }
    ]
  }
]

Json 与javascr 交互使用

因为JavaScript 原生就对Json支持 所以只要和普通数组一样进行遍历就好


<script type="text/javascript">

    var json = [
        {
            "empon": 7354,
            "ename": "李宁",
            "job": "java工程师",
            "hiredate": "2017-5"
        },
        {
            "empon": 2452,
            "ename": "张三",
            "job": "java工程师",
            "hiredate": "2017-6",
            "custorms": [
                {
                    "name": "李四"
                },
                {
                    "name": "王五"
                }
            ]
        }
    ];
    for (var i = 0; i < json.length; i++) {
        var emp = json[i];
        document.write(emp.empon);
        document.write(emp.ename);
        document.write(emp.job);
        document.write(emp.hiredate);
        if (emp.custorms != null) {
            for (var j = 0; j < emp.custorms.length; j++) {
                document.write(emp.custorms[j].name);
            }
        }
    }
    console.log(json);


</script>


Json 与字符串的互相转换

JSON.param(); 字符串转换成Json 对象
JSON.stringify(); 将Json 转换成String对象

Json 与java交互

**json 的序列化工具包 **

  • FastJson : 阿里巴巴的著名的Json的序列化和反序列化工具包
    • 国内开发者多
    • API 简单
    • 效率高
  • Jackson
  • Grson
  • Json-lib
FastJson 对象序列化和反序列
  1. 创建实体类对象
package com.imooc.Json;

public class User {
    private String name;
    private String age;
    private String password;
    private String time;

    public User(String name, String age, String password, String time) {
        this.name = name;
        this.age = age;
        this.password = password;
        this.time = time;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", password='" + password + '\'' +
                ", time='" + time + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
}


  1. 进行序列化
User user=new User("gyc","18","13870420942","time");
String string = JSON.toJSONString(user);
System.out.println(string);


  1. 进行反序列化
    User user1 = JSON.parseObject(string, User.class);
    System.out.println(user1);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值