如下所示:
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
package Demo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Vector;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import entity.Userinfo;
/**
* fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点:
* 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean
* 2.Class、Collection、Map、Date或enum) 零依赖(没有依赖其它任何类库除了JDK)
*
*/
public class TestFastJson {
public static void main(String[] args) {
String json = "{\"name\":\"chenggang\",\"age\":24}" ;
String arrayAyy = "[[\'马云',50],null,[\'马化腾',30]]" ;
// Entity2json("zhangsan", 24);
// list2Json();
Complexdata();
// Deserialization(json);
// DateFormate(new Date());
// Json2Eetity(json);
// String2JSONArray(arrayAyy);
}
// 实体转为Json
public static void Entity2json(String name, int age) {
Userinfo info = new Userinfo(name, age);
String str_json = JSON.toJSONString(info); //
System.out.println( "实体转化为Json" + str_json);
}
// list转Json
public static void list2Json() {
List<Userinfo> list = new ArrayList<Userinfo>();
Userinfo userinfo1 = new Userinfo( "lisi" , 15 );
Userinfo userinfo2 = new Userinfo( "wangwu" , 16 );
list.add(userinfo1);
list.add(userinfo2);
String json = JSON.toJSONString(list, true );
System.out.println( "List集合转json格式字符串 :" + json);
}
// 字符数组转化为JSon
private static void String2JSONArray(String arrayAyy) {
JSONArray array = JSONArray.parseArray(arrayAyy);
System.out.println( "数组:" + array);
System.out.println( "数组长度: " + array.size());
Collection nuCon = new Vector();
nuCon.add( null );
array.removeAll(nuCon);
System.out.println( "数组:" + array);
System.out.println( "数组长度: " + array.size());
}
// 复杂数据类型
public static void Complexdata() {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put( "username" , "zhangsan" );
map.put( "age" , 24 );
map.put( "sex" , "男" );
// map集合
HashMap<String, Object> temp = new HashMap<String, Object>();
temp.put( "name" , "xiaohong" );
temp.put( "age" , "23" );
map.put( "girlInfo" , temp);
// list集合
List<String> list = new ArrayList<String>();
list.add( "爬山" );
list.add( "骑车" );
list.add( "旅游" );
map.put( "hobby" , list);
String jsonString = JSON.toJSONString(map);
System.out.println( "复杂数据类型:" + jsonString);
}
public static void Deserialization(String json) {
Userinfo userInfo = JSON.parseObject(json, Userinfo. class );
System.out.println( "姓名是:" + userInfo.getName() + ", 年龄是:"
+ userInfo.getAge());
}
// 格式话日期
public static void DateFormate(Date date) {
System.out.println( "输出毫秒值:" + JSON.toJSONString(date));
System.out.println( "默认格式为:"
+ JSON.toJSONString(date,
SerializerFeature.WriteDateUseDateFormat));
System.out.println( "自定义日期:"
+ JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd" ,
SerializerFeature.WriteDateUseDateFormat));
}
// Json转为实体
private static void Json2Eetity(String json) {
Userinfo userInfo = JSON.parseObject(json, Userinfo. class );
System.out.println( "输出对象的地址:" + userInfo.toString());
System.out.println( "输出对象的名字:" + userInfo.getName());
}
}
|
以上Demo所用到的实体类:
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
|
package entity;
public class Userinfo {
private static final long serialVersionUID = 1L;
private String name;
private int age;
public Userinfo() {
super ();
}
public Userinfo(String name, int age) {
super ();
this .name = name;
this .age = age;
}
public void setName(String name) {
this .name = name;
}
public String getName() {
return name;
}
public void setAge( int age) {
this .age = age;
}
public int getAge() {
return age;
}
}
|
以上这篇浅谈fastjson的常用使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。