fastjson 使用方法

一.Fastjson说明
Fastjson是一个Java语言编写的JSON处理器。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。
2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。
4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home

如果获得Fastjson?
SVN:http://code.alibabatech.com/svn/fastjson/trunk/
WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home
Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON

如果你使用了Maven,maven repository配置如下:
<repository>
	<id>opensesame</id>
	<name>Alibaba OpenSource Repsoitory</name>
	<url>http://code.alibabatech.com/mvn/releases/</url>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>

pom.xml文件中加入依赖依赖:
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.0.4</version>
</dependency>

如果没有使用maven,可以直接下载:
http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.0.4/fastjson-1.0.4.jar
http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.0.4/fastjson-1.0.4-sources.jar

使用介绍:
Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON
import com.alibaba.fastjson.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。

 
 
二.下面是自己写的一个工具类
1.先说下自己后台返回的json数据格式:
 {"data":{"name":"吴江","state":"pass","personalIntroduction":"内科主治医师,毕业于广州医学院。","userName":"13687832930","gender":"男","city":"广州","primaryField":"擅长你内科类疾病治疗。","title":"主治医师","departmentTel":"020125689","department":"内科","hospital":"广州人民医院","userId":"06da18e65c1552e54778ec5b6ee4b41f","userFace":"http://192.169.12.94:8080/cmp/resources/images/face/0f21031469434309871.png","professionCertification":"http://192.169.12.94:8080/cmp/resources/images/certification/01d81d1469088888481.png","id":"01d81d0a3dbab77505d990061a07b9f7"},"errMsg":"","errCode":"0000"}

 
 
2.代码调用
	Result result=(Result)JSON.parseObject(resultJson.toString(), Result.class);
	if (result.getErrCode().trim().equals("010007")) {
		//error_ts.setVisibility(TextView.VISIBLE);
		return;
	}
	if (result.getErrCode().trim().equals("0000")) {		
		doctorInfromation=result.getResultDataObject(DoctorInfromation.class);
	}
}
说明:调用getResultDataObject()把json data部分数据转换为DoctorInfromation实例。

3.工具类代码实现:
package com.youtebao.util;
import java.util.List;
import com.alibaba.fastjson.JSON;
public class Result {
	private String errCode;// 是否成功标示
	private String errMsg;// 描述
	private String data;
	/*public Result(String result)
	{
		Result object=(Result)JSON.parseObject(result, Result.class);
		if(object!=null)
		{
			errCode=object.errCode;
			errMsg=object.errMsg;
			data=object.data;
		}
		
	}*/
	
	/**
	 * 返回"0000"成功
		 * @return
	 */
	public boolean isSuccess() {
		if ("0000".equals(errCode) ) {
			return true;
		}
		return false;
	}
	@SuppressWarnings("unchecked")
	public <T> T getResultDataObject(Class<?> parserClass) {
		if (data != null) {
			return  (T) JSON.parseObject(data, parserClass);
		}
		return null;
	}
	@SuppressWarnings("unchecked")
	public <T> List<T> getResultDataList(Class<?> parserClass) {
		if (data != null) {
			return (List<T>) JSON.parseArray(data, parserClass);
		}
		return null;
	}
	public String getErrMsg() {
		return errMsg;
	}
	public void setErrMsg(String errMsg) {
		this.errMsg = errMsg;
	}
	public String getErrCode() {
		return errCode;
	}
	public void setErrCode(String errCode) {
		this.errCode = errCode;
	}
	public String getData() {
		return data;
	}
	public void setData(String data) {
		this.data = data;
	}
}
说明:调用getResultDataObject返回对象,调用getResultDataList返回列表。

 
 
4.DoctorInfromation 类
package com.youtebao.entity;
import java.io.Serializable;
public class DoctorInfromation implements Serializable{
    /**
		 */
	private static final long serialVersionUID = -908860496548994170L;
	public static final String TYPE_BASE = "base";
    public static final String TYPE_INTRODUCE = "introduce";
    public static final String TYPE_APPROVE = "approve";
    
    public static final String STATE_UN_CHECK = "uncheck";
    public static final String STATE_UN_PASS = "unpass";
    public static final String STATE_PASS = "pass";
    
    private String userId;
	private String userName;
	private String userFace;
	
	private String doctorId;
	private String name;
	private String gender;
	private String city;
	private String hospital;
	private String department;
	private String title;
	
	private String personalIntroduction;
	private String primaryField;
	
	private String departmentTel;
	private String professionCertification;
	
	private String state;
	
	public void setName(String name)
	{
		this.name=name;
	}
	
	public String getName()
	{
		return name;
	}
	
	public void setGender(String gender)
	{
		this.gender=gender;
	}
	
	public String getGender()
	{
		return gender;
	}
	public void setCity(String city)
	{
		this.city=city;
	}
	
	public String getCity()
	{
		return city;
	}
	public void setHospital(String hospital)
	{
		this.hospital=hospital;
	}
	
	public String getHospital()
	{
		return hospital;
	}
	public void setDepartment(String department)
	{
		this.department=department;
	}
	
	public String getDepartment()
	{
		return department;
	}
	public void setTitle(String title)
	{
		this.title=title;
	}
	
	public String getTitle()
	{
		return title;
	}
	
	public void setPersonalIntroduction(String personalIntroduction)
	{
		this.personalIntroduction=personalIntroduction;
	}
	
	public String getPersonalIntroduction()
	{
		return personalIntroduction;
	}
	public void setPrimaryField(String primaryField)
	{
		this.primaryField=primaryField;
	}
	
	public String getPrimaryField()
	{
		return primaryField;
	}
	public void setDepartmentTel(String departmentTel)
	{
		this.departmentTel=departmentTel;
	}
	
	public String getDepartmentTel()
	{
		return departmentTel;
	}
	
	public void setProfessionCertification(String professionCertification)
	{
		this.professionCertification=professionCertification;
	}
	
	public String getProfessionCertification()
	{
		return professionCertification;
	}
	
	public void setState(String state)
	{
		this.state=state;
	}
	
	public String getState()
	{
		return state;
	}


	public String getUserId() {
		return userId;
	}


	public void setUserId(String userId) {
		this.userId = userId;
	}


	public String getUserName() {
		return userName;
	}


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


	public String getUserFace() {
		return userFace;
	}


	public void setUserFace(String userFace) {
		this.userFace = userFace;
	}


	public String getDoctorId() {
		return doctorId;
	}

	public void setDoctorId(String doctorId) {
		this.doctorId = doctorId;
	}


	
}
 
 
 
 
说明:DoctorInfromation 类与上面的json data部分的数据对应
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值