java—JSON(课堂笔记篇)

简介

JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.

格式:

格式1:对象格式

一个对象, 由一个大括号表示. 
    括号中 描述对象的属性 . 通过键值对来描述对象的属性 
    (可以理解为, 大括号中, 包含的是一个个的键值对.)

比如:

{
    "topic":"一剪梅"
    "author":"李清照"
    "content":"巴拉巴拉巴拉巴拉"
}
//个人理解,大括号就像是树根,内容就像是枝枝杈杈,至于怎么长,自己爱怎么长怎么长,只要不坏了他的规矩

格式:
        键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 
        键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 
        键值对的值, 可以是JS中的任意类型的数据

格式2:数组格式

[元素1,元素2...元素n]                在JSON格式中可以与对象互相嵌套 

案例:

{
	"topic":"一剪梅"
	"author":"李清照"
	"content":["红藕香残玉簟秋","轻解罗裳","独上兰舟","云中谁寄锦书来",{
  			"topic":"一剪梅"
			"author":"李清照" 
    	}],
    "zailaiyishou":{
        "topic":"一剪梅"
		"author":"李清照"
    }
}

JAVA与JSON

作用:

1.将Java中的对象 快速的转换为 JSON格式的字符串. 
2.将JSON格式的字符串, 转换为Java的对象.

一:Gson(谷歌的JSON)

1.将对象转换为JSON字符串

1.引入JAR包 

 2.创建Gson对象

3.转换

例如:

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

    public Book() {
    }
//构造方法...↓
public class Dem1 {
    public static void main(String[] args) {
        //创建Gson对象
    Gson g = new Gson();
        //转换
        Book b = new Book("金苹果","种植金苹果很辛苦","100");
        String s =g.toJson(b);
        System.out.println(s);

    }
}
/**
输出:
{"name":"金苹果","info":"种植金苹果很辛苦","id":"100"}
*/

2.将JSON字符串转换为对象

1.创建Gson对象

2.转换:

2.1

  public static void main(String[] args) {
        //1.创建Gson对象
        Gson g = new Gson();
        //2.转换: {"name":"金苹果","info":"种植金苹果很辛苦","id":"100"}
        Book b = g.fromJson("{\"name\":\"金苹果\",\"info\":\"种植金苹果很辛苦\",\"id\":\"100\"}", Book.class);
        System.out.println(b.getId());
    }
}
//输出:100

2.2

 public static void main(String[] args) {
        //1.创建Gson对象
        Gson g = new Gson();
        //2.转换: {"name":"金苹果","info":"种植金苹果很辛苦","id":"100","page":["床前明月光","疑是地上霜","举头望明月","低头思故乡"]}
        HashMap data = g.fromJson("{\"name\":\"金苹果\",\"info\":\"种植金苹果很辛苦\",\"id\":\"100\",\"page\":[\"床前明月光\",\"疑是地上霜\",\"举头望明月\",\"低头思故乡\"]}", HashMap.class);
        System.out.println(data.get("page"));
        System.out.println(data.get("page").getClass());
        List page = (List) data.get("page");
        for (int i = 0;i<data.size();i++){
            System.out.println(page.get(i));
        }
/**输出:
[床前明月光, 疑是地上霜, 举头望明月, 低头思故乡]
class java.util.ArrayList
床前明月光
疑是地上霜
举头望明月
低头思故乡
*/

二、fastJson(阿里的JSON)

1.将对象转换为JSON字符串

步骤就直接看例子把,1.创对象,2.转

 public static void main(String[] args) {
        //1.创对象
        Book b = new Book("一剪梅","巴拉巴拉巴拉巴拉","1002");
        //2.转
        String s = JSON.toJSONString(b);
        System.out.println(s);//输出:{"id":"1002","info":"巴拉巴拉巴拉巴拉","name":"一剪梅"}
    }

2.将JSON字符串转换为对象

 /**
     * 转对象
     * @param args
     */
    public static void main(String[] args) {
        //1.转换{"name":"金苹果","info":"种植金苹果很辛苦","id":"100"}
        Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"月满西楼\",\"name\":\"雁字归时\"}", Book.class);
        System.out.println(book.getId());
        //输出:1002

3.将JSON字符串转换为数组

   public static void main(String[] args) {
        //转义 :{"一二三","二三四","三四五"}
        List<String> list = JSON.parseArray("[\"一二三四\",\"二二三四\",\"三二三四\"]", String.class);
        for (int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        /**
         * 输出:
         * 一二三四
         * 二二三四
         * 三二三四
         */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值