首页 > 实用文档 > 书信函 >

fastjson在线解析

编辑:  成考报名   发布时间:09-30    阅读:

Fastjson使用例子
fastjson在线解析 第一篇

fastjson使用整理

1. fastjson序列化

序列化是指从java对象转换到json字符串格式过程,fastjson序列化支持序列化成可阅读性强的prettyjson格式json。

序列化使用代码为:

// FjsonDemo.java文件为:

public class FjsonDemo {

public static void main(String[] args) {

toJSONString();

}

public static void toJSONString() {

UserInfo user = new UserInfo();

user.setMessageCount(1);

Session session = new Session();

session.setFlag(1);

List<String> mobileList = new ArrayList<String>(); mobileList.add("13438351234");

mobileList.add("13438364231");

session.setMobileList(mobileList);

session.setSessionKey("07dKmRTD6FqXsz0r"); session.setUserId(10501L);

session.setVip(false);

user.setSession(session);

user.setUserName("helloworld");

user.setImage("cukOgXPuaqypOUBLG89vobY_E-Q.jpg");

// toJSONString方法为fastjson提供的序列化方法

// toJSONString设定true代表生成prettyJson风格字符串 String json = JSON.toJSONString(user);

String prettyJson = JSON.toJSONString(user, true); System.out.println(json);

System.out.println(prettyJson);

}

}

// UserInfo.java

public class UserInfo {

private String userName;

private int messageCount;

private String image;

private Session session;// session数据

// getter/setter方法省略

}

// Session.java文件为:

public class Session {

private String sessionKey;

private long userId;

private boolean isVip;// 生成的key名称为vip,干掉了is

private int flag;

private List<String> mobileList;

// getter/setter方法省略

}

2. fastjson反序列化

反序列化只指从json字符串转换到java对象,处理代码为:

// FjsonDemo.java文件为:

public class FjsonDemo {

public static void main(String[] args) {

String json = toJSONString();

UserInfo user = parseJSONString(json);

System.out.println("userName=" + user.getUserName()); System.out.println("userId="

user.getSession().getUserId());

}

// 序列化方法

public static String toJSONString() {

UserInfo user = new UserInfo();

user.setMessageCount(1);

Session session = new Session();

session.setFlag(1);

List<String> mobileList = new ArrayList<String>();

mobileList.add("13438351234");

mobileList.add("13438364231"); +

session.setMobileList(mobileList);

session.setSessionKey("07dKmRTD6FqXsz0r");

session.setUserId(10501L);

session.setVip(false);

user.setSession(session);

user.setUserName("helloworld");

user.setImage("cukOgXPuaqypOUBLG89vobY_E-Q.jpg");

String json = JSON.toJSONString(user);

String prettyJson = JSON.toJSONString(user, true);

System.out.println(json);

System.out.println(prettyJson);

return json;

}

// 反序列化方法

// 调用fastjson提供的parseObject方法,传入UserInfo.class参数 public static UserInfo parseJSONString(String json) {【fastjson在线解析】

UserInfo user = (UserInfo) JSON.parseObject(json, UserInfo.class);

return user;

}

输出结果为:

{"image":"cukOgXPuaqypOUBLG89vobY_E-Q.jpg","messageCount":1,"session":{"flag":1,"mobileList":["13438351234","13438364231"],"sessionKey":"07dKmRTD6FqXsz0r","userId":10501,"vip":false},"userName":"helloworld"}

{

"image":"cukOgXPuaqypOUBLG89vobY_E-Q.jpg",

"messageCount":1,

"session":{

"flag":1,

"mobileList":[

"13438351234",

"13438364231"

],

"sessionKey":"07dKmRTD6FqXsz0r",

"userId":10501,

"vip":false

},

"userName":"helloworld"

}

userName=helloworld

userId=10501

3. fastjson注解使用

3.1. JSONType

orders属性

ignores属性【fastjson在线解析】

orders属性可以设置序列化顺序,ignores可以将不需要序列化的字段排除掉

3.2. JSONField

name属性,设置别名

操作演示代码为:

// UserInfo.java文件为:

// 设置排序规则

@JSONType(orders = {

"session",

"image",

"mCount"

}, ignores = {

"userName"

})

public class UserInfo {

private String userName;

// 设置别名为mCount

@JSONField(name = "mCount")

private int messageCount;

private String image;

private Session session;

public String getUserName() {

return userName;

}

public void setUserName(String userName) { this.userName = userName;

}

public int getMessageCount() {

return messageCount;

}

public void setMessageCount(int messageCount) { this.messageCount = messageCount;

}

public String getImage() {

return image;

}

public void setImage(String image) {

this.image = image;

}

public Session getSession() {

return session;

}

public void setSession(Session session) { this.session = session;【fastjson在线解析】

}

}

// Session.java文件为:

// 设置排序规则

@JSONType(orders = {

"sessionKey",

"userId",

"vip",

"mobileList"

}, ignores = {

"flag"

})

public class Session {

private String sessionKey;

private long userId;

// 设置别名为vip

@JSONField(name = "vip")

private boolean isVip;

private int flag;

private List<String> mobileList;

public String getSessionKey() {

return sessionKey;

}

FastJson
fastjson在线解析 第二篇

package com.menghuan.json;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.TypeReference;

;

public class FastJsonTools {

public FastJsonTools() {

// TODO Auto-generated constructor stub

}

/**

* @param object

* 是对解析的集合的类型

* @return

*/

public static String createJsonString(Object object){ String str = JSON.toJSONString(object);

return str;

}

/**

* @param <T>

* @param jsonString

* @param cls

* @return

*/

public static <T> T getData(String jsonString, Class<T> cls) { T t = null;

try {

t = JSON.parseObject(jsonString, cls);

} catch (Exception e) {

// TODO: handle exception

}

return t;

}

/**

* 使用fastjson进行解析 List<Person>

} * * @param <T> * @param jsonString * @param cls * @return */ public static <T> List<T> getDatas(String jsonString, Class<T> cls) { List<T> list = new ArrayList<T>(); try { list = JSON.parseArray(jsonString, cls); } catch (Exception e) { } return list; } public static List<Map<String, Object>> listKeyMaps(String jsonString) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); try { list = JSON.parseObject(jsonString, new TypeReference<List<Map<String, Object>>>() { }); } catch (Exception e) { // TODO: handle exception } return list; }

安卓下通常采用以下几种方式解析json数据
fastjson在线解析 第三篇

安卓下通常采用以下几种方式解析json数据:

----------------------------------------------- 1.org.json包(已经集成到android.jar中了) 2.google提供的gson库 3.阿里巴巴的

fastjson库 4.json-lib ---------------------------------------------- 服务器端一

般采用json-lib包来构建/解析json,但由于此方法需要导入很多依赖包,所以不建议在

android设备上使用。下面重点介绍org.json以及gson解析json数据的方式(json-lib

使用参照:JSON快速入门):

-------------------------------------------------------------------------------

----------- 首先来看四种典型的json数据: 1.bean对象:

?

1 {"age":20,"id":1,"job":"程序员","name":"张三"}

2.List集合:

?

[{"age":20,"id":1,"job":"程序员","name":"张三"},{"age":22,"id":2,"job":"经理","name"1 ","name":"小巩"},{"age":21,"id":6,"job":"程序员","name":"李卫"}]

3.List安卓下通常采用以下几种方式解析json数据: -----------------------------------------------

1.org.json包(已经集成到android.jar中了) 2.google提供的gson库 3.阿里巴巴的

fastjson库 4.json-lib ---------------------------------------------- 服务器端一

般采用json-lib包来构建/解析json,但由于此方法需要导入很多依赖包,所以不建议在

android设备上使用。下面重点介绍org.json以及gson解析json数据的方式(json-lib

使用参照:JSON快速入门):

-------------------------------------------------------------------------------

----------- 首先来看四种典型的json数据: 1.bean对象:

?

1 {"age":20,"id":1,"job":"程序员","name":"张三"}

2.List集合:

?

[{"age":20,"id":1,"job":"程序员","name":"张三"},{"age":22,"id":2,"job":"经理","name"1 ","name":"小巩"},{"age":21,"id":6,"job":"程序员","name":"李卫"}]

3.List

.

1

2

3

4

5

6

7

8

9

10 /** * 解析第一种格式的json数据: */ public static Person json2Person(String json) { if(json==null || json.trim().length() == 0) { return null; } Person p = null;

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 try { p = new Person(); JSONObject jsonObj = new JSONObject(json); p.setId(jsonObj.getInt("id")); p.setName(jsonObj.getString("name")); p.setJob(jsonObj.getString("job")); p.setAge(jsonObj.getInt("age")); } catch (JSONException e) { e.printStackTrace(); } return p; } /** * 解析第2种格式的json数据: */ public static List<person> json2Persons(String json) { if(json==null || json.trim().length() == 0) { return null; } List<person> list = null; Person p = null; try { list = new ArrayList<person>(); JSONArray jsonArr = new JSONArray(json); for(int i = 0 ; i < jsonArr.length();i++) { JSONObject jo = jsonArr.getJSONObject(i); p = new Person(); p.setId(jo.getInt("id")); p.setAge(jo.getInt("age")); p.setJob(jo.getString("job")); p.setName(jo.getString("name")); list.add(p); p = null; } } catch (JSONException e) {

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 e.printStackTrace(); } return list; } /** * 解析第3种格式的json数据: */ public static List<string> json2Names(String json) { if(json==null || json.trim().length() == 0) { return null; } List<string> names = null; try { names = new ArrayList<string>(); JSONArray jsonArr = new JSONArray(json); for(int i = 0; i < jsonArr.length(); i++) { names.add(jsonArr.getString(i)); } } catch (Exception e) { e.printStackTrace(); } return names; } /** * 解析第4种格式的json数据: */ public static List<map<string,string>> json2NameJobs(String json) { if(json==null || json.trim().length() == 0) { return null; } List<map<string,string>> namejobs = null; Map<string,string> map = null; try { namejobs = new ArrayList<map<string,string>>(); JSONArray jsonArr = new JSONArray(json); for(int i = 0; i < jsonArr.length(); i++)

100 101 102 103 104 105 106 107 108 109 110 111 { map = new HashMap<string,string>(); map.put("name",jsonArr.getJSONObject(i).getString("name")); map.put("job",jsonArr.getJSONObject(i).getString("job")); namejobs.add(map); map = null; } } catch (Exception e) { e.printStackTrace(); } return namejobs; }</string,string></map<string,string></string,string></map<string

●【往下看,下一篇更精彩】●

最新成考报名

  • 白事邀请函范文十一篇
  • 白事邀请函四篇
  • 关于收受礼金违纪检讨书收受礼金礼品...
  • 部队万能检讨书5000字【七篇】
  • 白事邀请函范文(通用6篇)
  • 白事邀请函5篇
  • 白事邀请函【四篇】
  • 白事邀请函范文(通用7篇)