切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Json
FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
2020-02-19
Json
前端之家
前端之家
收集整理的这篇文章主要介绍了
FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是关于FastJson的一个使用Demo,在
Java
环境下验证的
[java]
view plain
copy
class
User{
private
int
id;
private
Stringname;
public
int
getId(){
return
id;
}
void
setId(
int
id){
this
.id=id;
}
public
StringgetName(){
return
name;
void
setName(Stringname){
this
.name=name;
}
copy
import
java.util.ArrayList;
import
java.util.List;
class
Group{
int
id;
private
Stringname;
private
List<User>list=
new
ArrayList<User>();
public
List<User>getList(){
return
list;
void
setList(List<User>list){
this
.list=list;
copy
class
Weibo{
private
Stringid;
private
Stringcity;
public
Weibo(Stringid,Stringcity){
this
.city=city;
public
Weibo(){
public
StringgetId(){
return
id;
void
setId(Stringid){
public
StringgetCity(){
return
city;
void
setCity(Stringcity){
this
.city=city;
copy
import
java.util.HashMap;
import
java.util.Map;
import
com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject;
//下面是FastJson的简介:常用的
方法
!
//FastjsonAPI入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态
方法
直接完成。
//publicstaticfinalObjectparse(Stringtext);//把JSON文本parse为JSONObject或者JSONArray
//publicstaticfinalJSONObjectpar
SEO
bject(Stringtext);//把JSON文本parse成JSONObject
//publicstaticfinal<T>Tpar
SEO
bject(Stringtext,Class<T>clazz);//把JSON文本parse为JavaBean
//publicstaticfinalJSONArrayparseArray(Stringtext);//把JSON文本parse成JSONArray
//publicstaticfinal<T>List<T>parseArray(Stringtext,Class<T>clazz);//把JSON文本parse成JavaBean集合
//publicstaticfinalStringtoJSONString(Objectobject);//将JavaBean序列化为JSON文本
//publicstaticfinalStringtoJSONString(Objectobject,booleanprettyFormat);//将JavaBean序列化为带格式的JSON文本
//publicstaticfinalObjecttoJSON(ObjectjavaObject);将JavaBean转换为JSONObject或者JSONArray(和上面
方法
的区别是返回值是不一样的)
/**
*这是关于FastJson的一个使用Demo,在Java环境下验证的;
*使用的时候可以参照这个例子进行回忆!
*备注:下面写的Json格式的数据"前面的\,意思是告诉编译器忽略掉它后面的"。
*后面定义有三个类:User、Group、Weibo
*@authorliuzhao
*/
class
JsonDemo{
static
void
main(String[]args){
json2JsonObjectM1();
//将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式
获取
信息
json2BeanM2();
//将Json文本数据转换为JavaBean数据!
json2JSONArrayM3();
//将json数据转化为JSONArray:
json2JavaBeanM4();
//将JSON文本转换为JavaBean的集合;转换为单纯的1个Object:par
SEO
bject(Stringtext,Class<T>clazz);
bean2JsonM5();
//将JavaBean转换为Json格式的数据/Json文本
用户
数据的传递:例如
上传
服务器
bean2JSONObjectM6();
//将JavaBean转换为JSON对象
complexExampleM7();
//一个相对复杂的例子:
complex2JsonM8();
//一个复杂的Object到Json的Demo
complexMap2JsonM9();
//将Map数据转换为JsonString的Demo;这个对RedBoy服务端不就直接破了嘛!
*将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式
获取
信息
void
json2JsonObjectM1(){
//一个JsonObject文本数据
Strings=
"{\"name\":\"liuzhao\"}"
;
//将JsonObject数据转换为Json
JSONObjectobject=JSON.par
SEO
bject(s);
//利用键值对的方式
获取
到值
System.out.println(object.get(
"name"
));
*打印:
*liuzhao
*/
*将Json文本数据转换为JavaBean数据!
*需要注意的是:这时候的Json文本信息中的键的
名称
必须和JavaBean中的字段
名称
一样!键中没有的在这个JavaBean中就
显示
为null!
void
json2BeanM2(){
Strings=
"{\"id\":\"0375\",\"city\":\"平顶山\"}"
;
//一个简单方便的
方法
将Json文本信息转换为JsonObject对象的同时转换为JavaBean对象!
Weiboweibo=JSON.par
SEO
bject(s,Weibo.
class
);
//Weibo类在下边定义
System.out.println(weibo.getId());
System.out.println(weibo.getCity());
//打印的结果0375
//平顶山
/**
*将Map类型的数据转换为JsonString
void
complexMap2JsonM9(){
Groupgroup=
new
Group();
group.setId(
1
);
group.setName(
"group"
);
Useruser1=
new
User();
user1.setId(
2
);
user1.setName(
"user1"
);
Useruser2=
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"
);
3
,group.getList());
StringjsonString=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
void
complex2JsonM8(){
StringjsonString=JSON.toJSONString(group);
*
输出
:{"id":1,"list":[{"id":2,"name":"user2"}],"name":"group"}
*一个相对复杂的例子:
*JSON文本数据:
*首先是JSONObject,转换为JSONArray;
*然后将JSONArray转换为JavaBean
void
complexExampleM7(){
Strings=
"{js:[{id:\"110000\",\"city\":\"北#001京市\"},{id:\"110000\",\"city\":\"北#002京市\"}"
+
",\"city\":\"北#002京市\"},"
+
"{id:\"110000\",\"city\":\"#006北#005京市\"},"
+
"{id:\"110000\",{id:\"120000\",\"city\":\"天#009津市\"}]}"
;
JSONObjectobject=JSON.par
SEO
bject(s);
ObjectjsonArray=object.get(
"js"
);
System.out.println(jsonArray);
List<Weibo>list=JSON.parseArray(jsonArray+
""
,Weibo.
class
);
for
(Weiboweibo:list){
*将JavaBean转换为JSON对象
void
bean2JSONObjectM6(){
Weiboweibo=
new
Weibo(
"0373"
,
"洛阳"
);
JSONObjectjson=(JSONObject)JSON.toJSON(weibo);
System.out.println(json.get(
"id"
));
*0373
*将JSON文本转换为JavaBean的集合;
*内部实现肯定是:首先转换为JSONArray,然后再转换为List集合
void
json2JavaBeanM4(){
Strings=
"[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]"
;
List<Weibo>list=JSON.parseArray(s,153); background-color:inherit; font-weight:bold">class
);
for
(Weiboweibo:list){
System.out.println(weibo.getCity());
*平顶山
*南阳
*将json数据转化为JSONArray:
*注意:
获取
到JSONArray之后(我们这里只是
获取
到JSONArray而不是JavaBean的List集合)
*
获取
JSONArray中的数据转换为String类型需要在外边加"";
void
json2JSONArrayM3(){
//将JSON文本转换为JSONArray
JSONArrayarray=JSON.parseArray(s);
//这行必须写:必须
加上
+"";不然会报出类型强转异常!
Stringstr=array.get(
1
)+
""
;
System.out.println(array.get(
0
));
JSONObjectobject=JSON.par
SEO
bject(str);
System.out.println(object.get(
"id"
));
*{"city":"平顶山","id":"0375"}
0377
*将JavaBean转换为Json格式的数据/Json文本
*
用户
数据的传递:例如
上传
服务器
void
bean2JsonM5(){
new
Weibo(
"123456"
,
"上海"
);
Stringstring=JSON.toJSONString(weibo);
System.out.println(string);
*{"city":"上海","id":"123456"}
}
转自:
http://www.oschina.net/code/snippet_228315_35122
上一篇:Fastjson可以解析类的嵌套吗?
下一篇:跨域请求jsonp详解
猜你在找的Json相关文章
jsonp
jsonp需要在页面中添加一个<script>元素,由该元素来从其他服务器加载json数据。...
作者:前端之家 时间:2020-08-01
jsonp跨域
<script> var testApi = "地址"; $.ajax({ url:testApi,//可以不是本地域名...
作者:前端之家 时间:2020-08-01
MVC上的jsonp扩展,解决跨域访问问题
总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下: public class JsonpR...
作者:前端之家 时间:2020-08-01
fastjson反序列化json对象时保留null值的key
最近开发中遇到调用第三方web_api的功能,后端在处理json数据时使用fastjson来做反序列化,...
作者:前端之家 时间:2020-08-01
JsonCpp 的使用
JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读、编写、解...
作者:前端之家 时间:2020-08-01
jsonp
var newScript = document.createElement(‘script‘); newScript.setAtt...
作者:前端之家 时间:2020-08-01
jsonp 跨域
$.ajax({ url:"http://192.168.100.47:8080/ais-connect/data/newai...
作者:前端之家 时间:2020-08-01
JSONArray 去重
前台说 只能传给我这样的数据 [ { "labelName":"皮肤颜...
作者:前端之家 时间:2020-08-01
FastJson的坑
1.list中放入同一个对象,会出现内存地址引用{"$ref":"#[0]"},后台可以识...
作者:前端之家 时间:2020-08-01
fastJson转换对象与字符串
static class TempClass{ private String name; private int age; public String getName(...
作者:前端之家 时间:2020-08-01
编程分类
HTML
HTML5
JavaScript
CSS
jQuery
Bootstrap
Angularjs
TypeScript
Vue
Dojo
Json
Electron
Node.js
extjs
Express
XML
ES6
Ajax
Flash
Unity
React
Flex
Ant Design
Web前端
微信小程序
微信公众号
最新文章
• jsonp
• jsonp跨域
• MVC上的jsonp扩展,解决跨
• fastjson反序列化json对象
• JsonCpp 的使用
• 【Newtonsoft.Json Json.N
• jsonp
• jsonp 跨域
• JSONArray 去重
• FastJson的坑
热门标签
更多 ►
关闭广告
单独headers
封装代码
提示错误
整数正则
非0开头
跳页
出页码
antd table
提示URL未注册
公众号支付
vue hash模式
iSlider
车牌键盘
循环图片
echarts 双折
左右布局
DllPlugin
对象创建
打字游戏
圈选
两栏
云函数
蒙版
ES2020
橱窗
无缝滚动轮播
色块碰撞
组件销毁
文档操作