加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

fastjson 使用方法

发布时间:2020-12-16 18:55:57 所属栏目:百科 来源:网络整理
导读:一. Fastjson说明 Fastjson是一个Java语言编写的JSON处理器。 1、遵循http://json.org标准,为其官方网站收录的参考实现之一。2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。3、无依赖,不需要例外额外的jar
一.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部分的数据对应

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读