FastJson的基本用法----转
1. [文件] User.java ~ 243B
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class User{ private int id; private String name; 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; }} |
2. [文件] Group.java ~ 458B
|
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
|
import java.util.ArrayList;import java.util.List;class Group{ private int id; private String name; private List<User> list = new ArrayList<User>(); 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 List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; }} |
3. [文件] Weibo.java ~ 359B
|
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
|
class Weibo { private String id; private String city; public Weibo(String id, String city) { this.id = id; this.city = city; } public Weibo() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCity() { return city; } public void setCity(String city) { this.city = city; }} |
4. [文件] JsonDemo.java ~ 7KB
|
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
import java.util.HashMap;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;//下面是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> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean // public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray // public static final <T> List<T> parseArray(String text, Class<T> 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(和上面方法的区别是返回值是不一样的)/** * 这是关于FastJson的一个使用Demo,在Java环境下验证的; * 使用的时候可以参照这个例子进行回忆! * 备注:下面写的Json格式的数据"前面的\,意思是告诉编译器忽略掉它后面的"。 * 后面定义有三个类:User、Group、Weibo * @author liuzhao */public class JsonDemo { public static void main(String[] args) { json2JsonObjectM1();//将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 json2BeanM2();//将Json文本数据转换为JavaBean数据! json2JSONArrayM3();//将json数据转化为JSONArray: json2JavaBeanM4();//将JSON文本转换为JavaBean的集合;转换为单纯的1个Object:parseObject(String text, Class<T> clazz); bean2JsonM5();//将JavaBean转换为Json格式的数据/Json文本 用户数据的传递:例如上传服务器 bean2JSONObjectM6();//将JavaBean转换为JSON对象 complexExampleM7();//一个相对复杂的例子: complex2JsonM8();//一个复杂的Object到Json的Demo complexMap2JsonM9();//将Map数据转换为JsonString的Demo;这个对RedBoy服务端不就直接破了嘛! } /** * 将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 */ private static void json2JsonObjectM1() { //一个JsonObject文本数据 String s = "{\"name\":\"liuzhao\"}"; //将JsonObject数据转换为Json JSONObject object = JSON.parseObject(s); //利用键值对的方式获取到值 System.out.println(object.get("name")); /** * 打印: * liuzhao */ } /** * 将Json文本数据转换为JavaBean数据! * 需要注意的是:这时候的Json文本信息中的键的名称必须和JavaBean中的字段名称一样!键中没有的在这个JavaBean中就显示为null! */ private static void json2BeanM2() { String s = "{\"id\":\"0375\",\"city\":\"平顶山\"}"; //一个简单方便 的方法将Json文本信息转换为JsonObject对象的同时转换为JavaBean对象! Weibo weibo = JSON.parseObject(s, Weibo.class);//Weibo类在下边定义 System.out.println(weibo.getId()); System.out.println(weibo.getCity()); //打印的结果 0375 // 平顶山 } /** * 将Map类型的数据转换为JsonString */ private static void complexMap2JsonM9() { Group group = new Group(); group.setId(1); group.setName("group"); User user1 = new User(); user1.setId(2); user1.setName("user1"); User user2 = new User(); user2.setId(3); user2.setName("user2"); group.getList().add(user1); group.getList().add(user2); Map<Integer, Object> map = new HashMap<Integer,Object>(); map.put(1, "No.1"); map.put(2, "No.2"); map.put(3, group.getList()); String jsonString = JSON.toJSONString(map); System.out.println(jsonString); /** * 输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":"user2"}]} */ } /** * 由一个复杂的Object到Json的Demo */ private static void complex2JsonM8() { Group group = new Group(); group.setId(1); group.setName("group"); User user1 = new User(); user1.setId(2); user1.setName("user1"); User user2 = new User(); user2.setId(3); user2.setName("user2"); group.getList().add(user1); group.getList().add(user2); String jsonString = JSON.toJSONString(group); System.out.println(jsonString); /** * 输出:{"id":1,"list":[{"id":2,"name":"user1"},{"id":3,"name":"user2"}],"name":"group"} */ } /** * 一个相对复杂的例子: * JSON文本数据: * 首先是JSONObject,转换为JSONArray; * 然后将JSONArray转换为JavaBean */ private static void complexExampleM7() { String s = "{js:[{id:\"110000\",\"city\":\"北#001京市\"},{id:\"110000\",\"city\":\"北#002京市\"}" + ",{id:\"110000\",\"city\":\"北#002京市\"},{id:\"110000\",\"city\":\"北#002京市\"}," + "{id:\"110000\",\"city\":\"#006北#005京市\"}," + "{id:\"110000\",\"city\":\"北#002京市\"}," + "{id:\"110000\",\"city\":\"北#002京市\"},{id:\"120000\",\"city\":\"天#009津市\"}]}"; JSONObject object = JSON.parseObject(s); Object jsonArray = object.get("js"); System.out.println(jsonArray); List<Weibo> list = JSON.parseArray(jsonArray+"", Weibo.class); for (Weibo weibo : list) { System.out.println(weibo.getCity()); } } /** * 将JavaBean转换为JSON对象 */ private static void bean2JSONObjectM6() { Weibo weibo = new Weibo("0373", "洛阳"); JSONObject json = (JSONObject) JSON.toJSON(weibo); System.out.println(json.get("id")); /** * 打印: * 0373 */ } /** * 将JSON文本转换为JavaBean的集合; * 内部实现肯定是:首先转换为JSONArray,然后再转换为List集合 */ private static void json2JavaBeanM4() { String s = "[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]"; List<Weibo> list = JSON.parseArray(s, Weibo.class); for (Weibo weibo : list) { System.out.println(weibo.getCity()); } /** * 打印: * 平顶山 * 南阳 */ } /** * 将json数据转化为JSONArray: * 注意:获取到JSONArray之后(我们这里只是获取到JSONArray而不是JavaBean的List集合) * 获取JSONArray中的数据转换为String类型需要在外边加""; */ private static void json2JSONArrayM3() { String s = "[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]"; //将JSON文本转换为JSONArray JSONArray array = JSON.parseArray(s); //这行必须写:必须加上+"";不然会报出类型强转异常! String str = array.get(1)+""; System.out.println(array.get(0)); JSONObject object = JSON.parseObject(str); System.out.println(object.get("id")); /** * {"city":"平顶山","id":"0375"} 0377 */ } /** * 将JavaBean转换为Json格式的数据/Json文本 * 用户数据的传递:例如上传服务器 */ private static void bean2JsonM5() { Weibo weibo = new Weibo("123456", "上海"); String string = JSON.toJSONString(weibo); System.out.println(string); /** * 打印: * {"city":"上海","id":"123456"} */ }} |
转自:http://www.oschina.net/code/snippet_228315_35122
FastJson的基本用法----转的更多相关文章
- fast-json.jar的用法
fast-json.jar 解析json数据:一种json数据解析方式是这种,点击这里下载jsonfast.jar+fastjsonAPI文档 [ { "id": 6378, &q ...
- FastJson中JSONObject用法及常用方法总结
本文为博主原创,未经允许不得转载: 最近一直有用到解析各种数据,主要是用FastJson进行数据解析,其中一个重要的类为JSONObject,今天有时间,所以进行总结一下: JSONobject是Fa ...
- fastjson的常用用法以及自定义排序
fastJson的四种常用方法 JSON 转 POJO public static <T> T getObject(String pojo, Class<T> tclass) ...
- 浅谈FastJson的TypeReference用法
简单描述:看同事提交的代码,发现有一行代码 似曾相识,但却朦朦胧胧,ε=(´ο`*)))唉很明显自己没掌握呗,于是乎,就百度了一下 干货:对进行泛型的反序列化,使用TypeReference可以明确的 ...
- fastjson经常用法
首先,JSON究竟是什么? JSON就是一串字符串 仅仅只是元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引號内是属性或值 : 冒号表示后者是前者 ...
- FastJson的简单实用
一.FastJson的理解 在工作中,经常客服端需要和服务端进行通信,目前很多项目都采用JSON的方式进行数据传输,简单的参数可以通过手动拼接JSON字符串,但如果请求的参数过多,采用手动拼接JSON ...
- fastjson 使用教程
fastjson 是阿里的开源项目,具网上的说法 fastjson 的解析速度是 Gson 的6倍,体积小,而且开源. 项目地址: https://github.com/alibaba/fastjso ...
- Java FastJson 介绍
1.前言 1.1.FastJson的介绍: JSON协议使用方便,越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的 ...
- 75、JSON 解析库---FastJson, Gson
JSON 的简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.用于数据转换传输, 通用于PHP,Java,C++,C#,Python等编程语言数据交 ...
随机推荐
- 1、C#基础整理(进制转换的方法)
进制 二进制转换为十进制(展权相加法) 110101 =1*2^5+1*2^4+0*2^3+1*2^2+0*2^1+1*2^0 1. 写2 2. 标指数(从右到左) 3. 乘系数(一一对应) 4 ...
- C#_控件——CheckBox,TextBox,RequiredFieldValidator
1. <asp:CheckBox ID="CheckBox2" runat="server" Text="你大爷" AutoPostB ...
- 浏览器关闭使session失效的问题多种解决方式
直接关闭浏览器(或者强制关闭浏览器进程.死机等),服务器无法处理用户退出网站的请求,此举将会导致session失效,下面整理了一些解决方法,感兴趣的朋友可以参考下哈 如果用户不点击网站的“退出”链 ...
- 负margin居中
<!DOCTYPE html><html> <head> <title> new document </title> <meta na ...
- Magento架构师的笔记-----Magento显示当前目录的父分类和子分类的分类名
在Magento目录的分类页面里,希望在左侧导航获取到父分类和子分类,可以用以下方法:打开app/your_package/your_themes/template/catalog/navigatio ...
- Spark延长SparkContext初始化时间
有些应用中可能希望先在driver上运行一段java单机程序,然后再初始化SparkContext用集群模式操作java程序返回值.从而避免过早建立SparkContext对象分配集群资源,使资源长时 ...
- 对UIWebView的学习
建工程,建一个类WebViewController 继承于UIViewController WebViewController设置为根视图控制器 WebViewController遵守UIWebVie ...
- yii2数据修改|联查
model 层 联查 $con = Yii::$app->db; $re = $con->createCommand("select * from ads LEFT JOIN ...
- js部分---函数与递归;
function (){}//匿名函数 1.function hanshu () { alert("这是我第一个函数"); } hanshu();//调用函数 2.//有参数的函数 ...
- Codeforces Round #138 (Div. 2)
A. Parallelepiped 枚举其中一边,计算其他两条边. B. Array 模拟. C. Bracket Sequence 栈. D. Two Strings \(pre[i]\)表示第i个 ...