JSON初体验(三):FastJson解析
JSON解析之FastJson(阿里巴巴解析开源)
特点:
Fastjson是一个Java语言编写的高性能功能完善的JSON库,它采用的
是一种"假定有序快速匹配"的算法,把JSON Parse的性能提升到极致,
是目前Java语言中最快的JSON库。
1.将json格式{}转换为Java对象
API:
<T> T parseObject(String json,Class<T> classOfT);
步骤:
1.导入fastjson的jar包
2.JSON调用parseObject()方法,获取转换后的java对象
例如:
ShopInfo shopInfo=JSON.parseObject(json,ShopInfo.class);
代码:
ShopInfo的类:
public class ShopInfo {
private int id;
private String name;
private double price;
private String imagePath; public ShopInfo() {
} public ShopInfo(int id, String name, double price, String imagePath) {
this.id = id;
this.name = name;
this.price = price;
this.imagePath = imagePath;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public double getPrice() {
return price;
} public void setPrice(double price) {
this.price = price;
} public String getImagePath() {
return imagePath;
} public void setImagePath(String imagePath) {
this.imagePath = imagePath;
} @Override
public String toString() {
return "ShopInfo{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
", imagePath='" + imagePath + '\'' +
'}';
}
}
解析json数据:
public class One {
public static void main(String[] args) {
String json = "{\n" +
" \"id\":1,\n" +
" \"name\":\"豆瓣\",\n" +
" \"price\":12.3,\n" +
" \"imagePath\":\"http://www.douban.com\"\n" +
"}";
ShopInfo shopInfo = JSON.parseObject(json, ShopInfo.class);
System.out.println(shopInfo.toString());
}
}
2.将json格式的字符串[]转换为Java对象的List
API:
List<T> parseArray(String json,Class<T> classOft);
步骤:
1.导入fastjson的jar包
2.JSON调用parseArray()方法,获取转换后的java集合
例如:
List<ShopInfo> shopInfos = JSON.parseArray(json,ShopInfo.class);
代码:
public class Two {
public static void main(String[] args) {
String json = "[\n" +
" {\n" +
" \"id\":1,\n" +
" \"imagePath\":\"http://www.baidu.com\",\n" +
" \"name\":\"大虾1\",\n" +
" \"price\":12.3\n" +
" },\n" +
" {\n" +
" \"id\":2,\n" +
" \"imagePath\":\"http://www.douban.com\",\n" +
" \"name\":\"大虾2\",\n" +
" \"price\":12.5\n" +
" }\n" +
"]";
List<ShopInfo> shopInfos = JSON.parseArray(json, ShopInfo.class);
System.out.println(shopInfos);
}
}
3.将java对象转换为json字符串{}
API:
String toJSONString(Object object);
步骤:
1.导入fastjson的jar包
2.JSON调用toJSONString()方法,获取转换后的json数据
例如:
ShopInfo shopInfo = new ShopInfo(1,"鲍鱼",255.5,"baoyu");
String json = JSON.toJSONString(shopInfo);
代码:
public class Three {
public static void main(String[] args) {
ShopInfo shopInfo = new ShopInfo(1, "哔哩哔哩", 125.5, "www.blibli.com");
String json = JSON.toJSONString(shopInfo);
System.out.println(json);
}
}
4.将Java对象的List转换为json的字符串[]
API:
String toJSONString(Object object);
步骤:
1.导入fastjson的jar包
2.JSON调用toJSONString()方法,获取转换后的json数据
例如:
List<ShopInfo> shops = new ArrayList<>();
ShopInfo shopInfo1 = new ShopInfo(1, "哔哩哔哩", 255.5, "www.blibli.com");
ShopInfo shopInfo2 = new ShopInfo(1, "豆瓣", 255.5, "www.douban.com");
ShopInfo shopInfo3 = new ShopInfo(1, "知乎", 255.5, "www.zhihu.com");
shops.add(shopInfo1);
shops.add(shopInfo2);
shops.add(shopInfo3);
String json = JSON.toJSONString(shops);
代码:
public class Four {
public static void main(String[] args) {
ShopInfo shopInfo1 = new ShopInfo(1, "哔哩哔哩", 255.5, "www.blibli.com");
ShopInfo shopInfo2 = new ShopInfo(1, "豆瓣", 255.5, "www.douban.com");
ShopInfo shopInfo3 = new ShopInfo(1, "知乎", 255.5, "www.zhihu.com");
List<ShopInfo> list = new ArrayList<ShopInfo>();
list.add(shopInfo1);
list.add(shopInfo2);
list.add(shopInfo3);
String json = JSON.toJSONString(list);
System.out.println(json);
}
}
最后补一下fastjson在maven中的地址:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.32</version>
</dependency>
最后,再说一句,和本节内容无关的事:
翟哥,我错了,我真的错了,原谅我吧!
JSON初体验(三):FastJson解析的更多相关文章
- JSON初体验(二):Gson解析
今天,我们来介绍一下Gson的jar包的用法. JSON解析之Gson 特点:编码简介,谷歌官方推荐 数据之间的转换: 1.将json格式的字符串{}转换成为java对象 API: <T> ...
- JSON初体验(一):JsonObject解析
在学校的呆了一段时间,马上又要回去工作了,不说了,我现在介绍一下json相关的内容 1.JSON数据格式(总的来说,json就是一个字符串) 1.整体结构 String json1 = "{ ...
- SpringBoot初体验及原理解析
一.前言 上篇文章,我们聊到了SpringBoot得以实现的幕后推手,这次我们来用SpringBoot开始HelloWorld之旅.SpringBoot是Spring框架对“约定大于配置(Conv ...
- Ruby on rails初体验(三)
继体验一和体验二中的内容,此节将体验二中最开始的目标来实现,体验二中已经将部门添加的部分添加到了公司的show页面,剩下的部分是将部门列表也添加到公司的显示页面,整体思路和体验二中相同,但是还是会有点 ...
- Spring Cloud Alibaba 初体验(三) Nacos 与 Dubbo 集成
一.新建项目 新建项目,只放置接口,用于暴露 Dubbo 服务接口 public interface GreetingService { String greeting(); } 二.provider ...
- CentOS 初体验三: Yum 安装、卸载软件
一:Yum 简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指 ...
- $.extend({},defaults, options) --(初体验三)
1.$.extend({},defaults, options) 这样做的目的是为了保护包默认参数.也就是defaults里面的参数. 做法是将一个新的空对象({})做为$.extend的第一个参数, ...
- Swift初体验(三)
/*******************************************************************************/ // 协议 protocol Des ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
随机推荐
- Hibernate缓存策略
Hibernate的一级缓存又称为Session缓存,其适用范围是在当前的会话之中,其生命周期和Session相同,随着Session的销毁,一级缓存也会随之销毁.一级缓存是不能取消的,Hiberna ...
- February 7 2017 Week 6 Tuesday
It does not do to dwell on dreams, and forget to live. 人不能只生活在梦里,只依靠虚幻的东西而忘记了生活. Don't forget to liv ...
- The Relationship Between Layers and Views
Layers provide infrastructure for your views. 内核与外壳:数据与封装的关系.
- mongo数据库基础语法
http://www.runoob.com/mongodb/mongodb-create-collection.html 很详细
- 启动memcache
"D:\SOFT\memcached-1.4.5-amd64\memcached-amd64\memcached.exe"
- CToolBarCtrl基本内容控件
基本内容CToolBarCtrl CObject └CCmdTarget └CWnd └CToolBarCtrl CToolBarCtrl类提供了Windows工具条通用控件的性能.这个控件(也就是C ...
- CodeForces - 607B (记忆化搜索)
传送门: http://codeforces.com/problemset/problem/607/B Genos recently installed the game Zuma on his ph ...
- ffmpeg教程
转:http://blog.sina.com.cn/s/blog_51396f890100nd91.html 概要 电影文件有很多基本的组成部分.首先,文件本身被称为容器Container,容器的类 ...
- android中OpenMax的实现【2】AwesomePlayer中openmax的入口
AwesomePlayer 中有个变量 OMXClient mClient; 让我们看看 OMXClient class OMXClient { public: OMXClient(); stat ...
- 多线程CSerialPort类的多串口通信实现
多线程CSerialPort类的多串口通信实现 工作了之后才发现,之前在学校里真是狭隘封闭.坐井观天,拿之前发表的论文来说,工作后接触到了底层的串口.网口开发,对线程(也叫任务).操作系统时间片轮流 ...