分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

Gson和fastJson的使用

发布时间:2023-09-06 02:29责任编辑:熊小新关键词:暂无标签

1) Gson是Google开源的Json转换工具

  Gson的说明:

  https://google.github.io/gson/apidocs/com/google/gson/Gson.html

  这个是Gson的官方API,非常简洁的说明了Gson的使用:

  Here is an example of how Gson is used for a simple Class:

 Gson gson = new Gson(); // Or use new GsonBuilder().create(); MyType target = new MyType(); String json = gson.toJson(target); // serializes target to Json MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2

  上述例子是来自官方的一个例子,展示了将一个Object的序列化和反序列化的过程

 Type listType = new TypeToken<List<String>>() {}.getType(); List<String> target = new LinkedList<String>(); target.add("blah"); Gson gson = new Gson(); String json = gson.toJson(target, listType); List<String> target2 = gson.fromJson(json, listType);

  上述例子是来自官方的一个例子,展示了将一个列表序列化和反序列化的过程

HashMap<String,String>map = new HashMap<String, String>();map.put("name", "PoorGuy");map.put("age", "18");map.put("address", "XXXX");String info = new Gson().toJson(map);System.out.println(info);HashMap<String,String>map1 = new Gson().fromJson(info, HashMap.class);System.out.println(map1);

 运行结果:

上述示例,展现了将一个HashMap转成JSON序列化和反序列化的过程

 2) fastJson是阿里开源的Json转换工具

  fastJson说明:

  https://github.com/alibaba/fastjson/wiki

  上述网站是阿里fastJson官网,里面的例子很浅显易懂

Encode

import com.alibaba.fastjson.JSON;Group group = new Group();group.setId(0L);group.setName("admin");User guestUser = new User();guestUser.setId(2L);guestUser.setName("guest");User rootUser = new User();rootUser.setId(3L);rootUser.setName("root");group.addUser(guestUser);group.addUser(rootUser);String jsonString = JSON.toJSONString(group);System.out.println(jsonString);

Output

{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}

Decode

String jsonString = ...;Group group = JSON.parseObject(jsonString, Group.class);

再使用fastJson时一定要注意get,set方法的书写

String fastJson = JSON.toJSONString(list);System.out.println(fastJson);//将字符串从JSON序列转化回ObjectList<Book> listnew = JSON.parseArray(fastJson,Book.class);for (Book book : listnew) {System.out.println(book);}

上述例子为自行测试:

测试结果:

上述例子中,没有给出实体类,list为Book实体的列表

两种转换工具都是比较常用的,个人习惯使用fastJson,因为更方便一些

Gson和fastJson的使用

原文地址:https://www.cnblogs.com/PoorGuy/p/10262886.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved