Java的Json解析包FastJson使用
来源:互联网 发布:电梯运行优化 编辑:程序博客网 时间:2024/06/04 18:51
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
源码地址:https://github.com/alibaba/fastjson
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
*public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
*public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean
*public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
*public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合
*public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
*public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
*public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean
*public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
*public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合
*public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
以上加*的是一些项目中的常用方法。
以下是自己练习写的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package
com.test;
public
class
TestPerson {
private
int
age;
private
String name;
public
TestPerson(){
}
public
TestPerson(
int
age,String name){
this
.age=age;
this
.name=name;
}
public
int
getAge() {
return
age;
}
public
void
setAge(
int
age) {
this
.age = age;
}
public
String getName() {
return
name;
}
public
void
setName(String name) {
this
.name = name;
}
}
package
com.test;
import
java.util.*;
import
com.alibaba.fastjson.*;
public
final
class
TestFastJson {
public
static
void
main(String[] args) {
// TODO Auto-generated method stub
TestPerson json =
new
TestPerson(
19
,
"李明"
);
List<TestPerson> list =
new
ArrayList<TestPerson>();
list.add(json);
list.add(
new
TestPerson(
12
,
"张三"
));
//将集合或者对象序例化成JSON
System.out.println(JSON.toJSON(json));
System.out.println( JSON.toJSON(list) );
//Json串反序列化成对象
TestPerson person = JSON.parseObject(
"{\"name\":\"李明\",\"age\":19}"
, TestPerson.
class
);
System.out.printf(
"name:%s,age:%d\n"
,person.getName(),person.getAge());
String str =
"[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]"
;
//数组对象反序列化成集合
List<TestPerson> listPerson = JSON.parseArray(str,TestPerson.
class
);
for
(TestPerson item : listPerson){
System.out.println( item.getName() );
System.out.println( item.getAge());
}
//没有对象直接解析JSON对象
JSONObject jobj = JSON.parseObject(
"{\"name\":\"李明\",\"age\":19}"
);
System.out.printf(
"name:%s,age:%d\n"
,jobj.getString(
"name"
),jobj.getBigInteger(
"age"
));
//没有对象直接解析JSON数组
JSONArray jarr = JSON.parseArray(
"[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]"
);
for
(
int
i=
0
,len=jarr.size();i<len;i++){
JSONObject temp= jarr.getJSONObject(i);
System.out.printf(
"name:%s,age:%d\n"
,temp.getString(
"name"
),temp.getBigInteger(
"age"
));
}
for
(Object obj:jarr){
System.out.println(obj.toString());
}
}
}
博文转自:http://www.cnblogs.com/wgale025/p/5875430.html
阅读全文
0 0
- Java的Json解析包FastJson使用
- Json解析包 阿里巴巴 FastJson 的使用
- JSON的解析[Java-JSON、FastJSON、GSON]
- JAVA-使用FastJson解析复杂JSON数据
- JSON的解析 --之 FastJson 的使用
- 阿里巴巴fastjson: 世界上最快的 Java json 解析包, 2个bug
- json解析:[2]fastjson 使用
- json解析:[2]fastjson 使用
- 使用FastJson解析Json数据
- 使用FastJson解析Json数据
- 使用FastJson解析Json数据
- 使用fastjson解析json数据
- 使用FastJson解析Json数据
- 使用FastJson解析Json数据
- 使用FastJson解析Json数据
- Java的JSON处理器fastjson使用详解
- java json解析fastjson jackson
- Java fastjson 解析json配置文件
- The VMware Authorization Service is not running
- CoordinatorLayout.Behavior
- lintcode--删除排序链表中的重复数字
- 一篇文章讲透CDN HTTPS安全加速基本概念、解决方案及优化实践
- 16秋计算机JAVA第三节课作业(钟永钜) 4~6题
- Java的Json解析包FastJson使用
- CSS中定义变量,并使用变量设置属性值
- Python模块_PyLibTiff读取tif文件
- Object Detection论文笔记(4)
- 顺序堆栈(数组)
- 从数据库得到数据导出指定格式的xml文件,上传到NC接口,返回回执到本地一个xml文件
- 栈的压入、弹出序列
- Inno Setup入门(五)——添加readme文件
- JAVA_int类型数据精度高于float低于double