JSON 解析(个人学习)

JSON, js对象简谱, 是一种轻量级的数据交换格式

对象格式:{"键1":值1, "键2": 值2,... }

比较常用的jar文件:Gson(谷歌), Fastjson(阿里)

先创建一个Book对象,有id,name 和 info 的属性,获取全参的构造方法,get和set方法

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

将对象转换为JSON字符串

通过Gson将对象转换为JSON的字符串

import com.google.gson.Gson;
public class Demo1 {

    public static void main(String[] args) {
        //1. 创建Gson对象
        Gson g = new Gson();
        //2. 转换
        Book b = new Book("100","金苹果","种植苹果好辛苦");
        String s = g.toJson(b);
        System.out.println(s);
    }
}

运行结果:

{"id":"100","name":"金苹果","info":"种植苹果好辛苦"}

通过Fastjson 将对象转换为JSON字符串

import com.alibaba.fastjson.JSON;
public class Demo3 {
    public static void main(String[] args) {
        Book book = new Book("1002","唐诗三百首","鹅鹅鹅,曲项向天歌");
        //1. 转换
        String s = JSON.toJSONString(book);
        System.out.println(s);
    }
}

运行结果:

{"id":"1002","info":"鹅鹅鹅,曲项向天歌","name":"唐诗三百首"}

将JSON字符串转换为对象或MAP集合

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

        HashMap data= g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果好辛苦\"}",HashMap.class);
        System.out.println(data.get("id"));
    }
}

通过Gson将JSON字符串转成对象或者集合

运行结果

 

import com.alibaba.fastjson.JSON;
import java.util.List;
public class Demo4 {
    public static void main(String[] args) {
        //1. 转换: {"id":"1002","info":"鹅鹅鹅,曲项向天歌","name":"唐诗三百首"}
        Book b = JSON.parseObject("{\"id\":\"1002\",\"info\":\"鹅鹅鹅,曲项向天歌\",\"name\":\"唐诗三百首\"}",Book.class);
        System.out.println(b.getId());
        //转换: ["一二三","二三四","三四五"]
        List<String> s = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
        System.out.println(s.get(1));
    }
}

通过Fastjson 将JSON字符串转换成对象或者集合

运行结果:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值