JSON简单入门

1. 什么是JSON

JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。JSON完全采用独立于编程语言的文本格式来存储和表示数据。JSON因为高效简洁而得到广泛应用。

2. JSON语法

(1)JSON是一个标记符的序列,包含对象或者数组。其有六个构造符,字符串,数字和三个字面值组成。

  • 六个构造符号
    花括号 {}
    方括号 []
    逗号 ,
    冒号 :
  • 三个字面值
    flase null true
    (2)JSON的值可以是对象、数组、数字、字符串,三个字面值(false,null,true,必须为小写)中的一个。
    (3)数组由方括号括起来的成员组成(逗号分隔)的。
    比如:[55,28,34,76,34,90]
    (4)对象是由花括号括起来的成员组成(逗号分隔)的键值对结构。字符串键需要用双引号引起来,对象和数组可以相互组合。
    比如(表示一个学生信息):{“name”:“Jockson”,“age”:18,“score”:[“Math”:88,“English”:77,“Chinese”:99]}
    (5)JSON本质上是一个字符串

3. JSON解析

Java本身没有提供JSON解析的包,所以要导入第三方的包,比较常用的是谷歌的Gson和阿里的Fastjson。相关的jar包可以在GitHub下载。
Gson的下载地址:Gson的jar下载地址
Fastjson下载地址:Fastjson的Github地址
还有一个比较好用的JSON在线解析网址:JSON在线解析网址

3.1. Gson
  • 对象转JSON
import com.google.gson.Gson;

public class GsonDome1 {
    public static void main(String[] args) {
        //对象转json
        Person p = new Person("小红","18");
        String json = new Gson().toJson(p);
        System.out.println(json);
    }
}

运行结果:
Gson:对象转JSON

  • JSON转对象

(字符串的双引号需要转义字符处理)

import com.google.gson.Gson;

public class GsonDome2 {
    public static void main(String[] args) {
        //json转对象
        String json = "{\"name\":\"小红\",\"age\":\"18\"}";
        Person person = new Gson().fromJson(json,Person.class);
        System.out.println(person);
    }
}

运行结果:

在这里插入图片描述

3.2. Fastjson
  • 对象转JSON
import com.alibaba.fastjson.JSON;


public class FastJsonDemo1 {
    public static void main(String[] args) {
        //对象转JSON
        Person p = new Person("小花","22");
        String json = JSON.toJSONString(p);
        System.out.println(json);
    }

}

运行结果:

  • 对象转JSON
    (分为转成对象和ArrayList两种情况,数组会转成ArrayList)
import java.util.List;


public class FastJsonDemo2 {
    //json转对象
    public static void main(String[] args) {
        //对象
        String json = "{\"age\":\"22\",\"name\":\"小花\"}";
        Person person = JSON.parseObject(json,Person.class);
        System.out.println(person);
        //数组
        String json1 = "[\"haha\",\"xixi\",\"heiehi\"]";
        List<String> list = JSON.parseArray(json1,String.class);
        for(String s : list){
            System.out.println(s);
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值