巴拉巴拉
小魔仙

Java fastJson 插件使用

fastJson是阿里巴巴的一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
fastjson-1.2.4.jar 下载

@JSONField(serialize = false),忽略某个字段;在实体类的get方法上添加。

@JSONField(name = "id"),可以设置转成json后的别名;添加在字段上。

@JSONField (format="yyyy-MM-dd HH:mm:ss"),设置时间类型的格式化;添加在字段上。

注意:实体类需要实现一个无参的构造方法!

package fastjsonTest;

public class Person {
	private String name;
	private String age;
	private String gender;
	
	public Person() {
		super();
	}
	
	public Person(String name, String age, String gender) {
		this.name = name;
		this.age = age;
		this.gender = gender;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}

	@Override
	public String toString() {
		return "Person [age=" + age + ", gender=" + gender + ", name=" + name
				+ "]";
	}
}
//实体类转json
Person p = new Person("小王","18","男");
String personJson = JSON.toJSONString(p);
System.out.println(personJson);
//{"age":"18","gender":"男","name":"小王"}

//实体类集合转json
List<Person> personList = new LinkedList<Person>();
personList.add(new Person("小王","18","男"));
personList.add(new Person("小帅","19","男"));
personList.add(new Person("小哥","20","男"));
String jsonList = JSON.toJSONString(personList);
System.out.println(jsonList);
/**
 * [{"age":"18","gender":"男","name":"小王"},
 *  {"age":"19","gender":"男","name":"小帅"},
 *  {"age":"20","gender":"男","name":"小哥"}]
 */

//单个json转实体类
Person fromJson = JSON.parseObject(personJson, Person.class);
System.out.println(fromJson);
//Person [age=18, gender=男, name=小王]

//集合json转List实体类
List<Person> fromJsonList = JSON.parseArray(jsonList,Person.class);
System.out.println(fromJsonList);
/**
 * [Person [age=18, gender=男, name=小王], 
 *  Person [age=19, gender=男, name=小帅], 
 *  Person [age=20, gender=男, name=小哥]]
 */

//单个json转Map
Map<String,Object> map = JSON.parseObject(personJson,Map.class);
System.out.println(map);
//{name=小王, age=18, gender=男}

//集合json转List<Map>
List<Map> listMap = JSON.parseArray(jsonList, Map.class);
System.out.println(listMap);
/**
 * [{name=小王, age=18, gender=男},
 *  {name=小帅, age=19, gender=男}, 
 *  {name=小哥, age=20, gender=男}]
 */
赞(0) 打赏
如果文章对你有帮助,欢迎你来评价反馈。AgainFly » Java fastJson 插件使用
标签:

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • Q Q(选填)
  1. #0
    头像

    有点意思

    q5年前 (2016-05-09)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏