Json学习笔记

Json学习笔记

JSON概念

JSON全名称是JavaScript Object Notation,即JavaScript对象表示法。

Java的对象表示:

Person p = new Person();
p.setName("张三");
p.setAge(23);
p.setGender("男");

JavaScript的对象表示:

var p = {“name”:“张三”,“age”:23,“gender”:“男”};

JSON介绍:

json现在多用于存储和交换文本信息的语法
进行数据的传输
JSON 比 XML 更小、更快,更易解析。

JSON语法

JSON语法基本规则

1、数据在键/值对中:JSON数据由键值对构成。
键可以用引号(单双引号都行)引起来,也可以不使用引号引起来。
值的取值类型有:数字(整数或浮点数)、字符串(用双引号引起来)、布尔值(true或false)、数组(在方括号中)、对象(在花括号中)、null。

    # 值是数字类型
    {age: 10, score: 78.5}
    # 值是字符串类型
    {name: "张三", sex: "m"}
    # 值是布尔值类型
    {flag: true}
    # 值是数组类型
    {names: ["zhangsan", "lisi", "wangwu"]}
    {students: [{name: "zhangsan"}, {name: "lisi"}]}
    # 值是对象类型
    {student: {name: "zhangsan", age: 18, flag: true}}
    # 值是null类型
    {value: null}

2、数据由逗号分隔:多个键值对用逗号进行分隔

{key1: value1, key2: value2, key3: value3, ...}

3、花括号保存对象:使用{}定义json格式的对象,又可以嵌套其他数据类型的值。

{student: {name: "zhangsan", hobbies: ["play", "read", "listen"]}}

4、方括号保存数组:[1,2,3,4,5],又可以嵌套其他数据类型的值。

    [{name1:"zhangsan"},{name2:"lisi"}]
    [1,2,3,4,5,6]

读取JSON数据

FastJson 版本为1.2.70
FastJson 测试:

新建一个图书类

public class Book {
    private String id;
    private String name;
    private String info;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public Book(String id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}

测试1

public class Demo {
  public static void main(String[] args) {
        Book book = new Book("100","金苹果","种植苹果的书籍");
        String json =  JSON.toJSONString(book);
        System.out.println(json);
    }
}

测试2

public class Demo {
  public static void main(String[] args) {
    String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰
\",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
   Book book = new Gson().fromJson(json, Book.class);
   System.out.println(book);
    }
}

测试3

public class Demo {
  public static void main(String[] args) {
  String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰
\",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
   Book book = JSON.parseObject(json, Book.class);
   System.out.println(book)
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值