Json格式转换与解析

将对象转成Json格式

Gson转换

1.首先先下载最新jar包

地址:https://github.com/google/gson
引入jar包后

2.代码:

这里创建book类代码就不写了

public class Demo1 {
    public static void main(String[] args) {
        //1.    创建Gson对象
        Gson g = new Gson();
        //2.    转换
        Book b = new Book("100","射雕英雄传","金庸666");
        String s = g.toJson(b);
        System.out.println(s);
    }
}

转换结果:

{"id":"100","name":"射雕英雄传","info":"金庸666"}
Gson格式转对象
public class Demo2 {
    public static void main(String[] args) {
        //1.    创建Gson对象
        Gson g = new Gson();
        //2.    转换 
        Book b = g.fromJson("{\"id\":\"100\",\"name\":\"射雕英雄传\",\"info\":\"金庸666\"}", Book.class);
        System.out.println(b.getId());
    }
}

转换结果:

100
Json格式的数组转换
public class Demo3 {
    public static void main(String[] args) {
        //1.    创建Gson对象
        Gson g = new Gson();
        //2.    转换
        HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"射雕英雄传\",\"info\":\"金庸\",\"page\":[\"黄蓉\",\"郭靖\",\"老顽童\"]}", HashMap.class);
        System.out.println("数组转换后的格式:"+data.get("page").getClass());//获取数组转换后的格式
        List page = (List) data.get("page");//将page数组转成list对象
        System.out.println(page.get(1));
    }
}

转换结果:

数组转换后的格式:class java.util.ArrayList
郭靖

可见将Json格式的数组转换后,默认的格式不再是数组,而是变成了ArrayList

阿里巴巴的fastjson

这里Fastjson用法和谷歌的gson差不太多
同样也是在GitHub上下载最新版本大的jar包,导入后使用,fastjson用法比gson更简洁
网址:https://github.com/alibaba/fastjson/wiki

对象转Json
public class Demo4 {
    public static void main(String[] args) {
        Book book = new Book("1002","绝代双骄","古龙大大");
        //1.    转换
        String json = JSON.toJSONString(book);
        System.out.println(json);
    }
}

转换结果:

{"id":"1002","info":"古龙大大","name":"绝代双骄"}
Json转对象:
public class Demo5 {
    public static void main(String[] args) {
        Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"古龙大大\",\"name\":\"绝代双骄\"}", Book.class);
        System.out.println(book.getId());
    }
}

转换结果:

1002
转数组
public class Demo6 {
    public static void main(String[] args) {
        List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class);
        System.out.println(strings.get(1));
    }
}

转换结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值