fastjson 的简单使用

本文介绍Java中如何实现对象与JSON之间的相互转换,包括普通对象、带集合的对象及List对象与JSON字符串的转换方法。重点讲解了使用JSON.toJSONString方法进行序列化时需添加SerializerFeature.WriteClassName参数。
	public static void main(String[] args) {
		/*普通对象与json相互转换*/
		User u = new User("miquan", "000");
		
		//{"@type":"testjava.User","password":"000","userName":"miquan"}
		String jsonUser = JSON.toJSONString(u, SerializerFeature.WriteClassName);
		System.out.println(jsonUser);
		
		User user = JSON.parseObject(jsonUser, User.class);
		
		/*带集合的对象与json字符串相互转换*/
		List<String> list = new ArrayList<String>();
		list.add("miquan");
		list.add("qiantu");
		Download d = new Download();
		d.setEmojiSetName("guoqiao");
		d.setEmojiPathList(list);
		
		//{"@type":"testjava.Download","emojiPathList":["miquan","qiantu"],"emojiSetName":"guoqiao"}
		String jsonList = JSON.toJSONString(d, SerializerFeature.WriteClassName);
		System.out.println(jsonList);
		
		Download download = JSON.parseObject(jsonList, Download.class);
		
		/*json与List对象相互转换*/		
		List<User> listUser = new ArrayList<User>();
		listUser.add(new User("liangguoqiao", "iloveyou"));
		listUser.add(new User("liangguoqiao", "iloveyou"));
		
		//[{"password":"iloveyou","userName":"liangguoqiao"},
		//{"password":"iloveyou","userName":"liangguoqiao"}]
		String json = JSON.toJSONString(listUser);
		System.out.println(json);
		
		List<User> users = JSON.parseArray(json, User.class);
	}


注意:1、下载地址

    2、User和Download等实体类必须添加空的构造函数

            3、转为JSON字符串的时候加上SerializerFeature.WriteClassName

            4、坐等下班。。。


package com.yangshidesign.weixinface.bean;

import java.util.List;

public class Download {
	private String emojiSetName;
	/** 表情图片名字 */
	private List<String> emojiNameList;
	
	public Download() {
		super();
	}
	public String getEmojiSetName() {
		return emojiSetName;
	}
	public void setEmojiSetName(String emojiSetName) {
		this.emojiSetName = emojiSetName;
	}
	public List<String> getEmojiNameList() {
		return emojiNameList;
	}
	public void setEmojiNameList(List<String> emojiNameList) {
		this.emojiNameList = emojiNameList;
	}
}

package testjava;

public class User {
	private String userName;
	private String password;
	
	public User() {
		super();
	}
	public User(String userName, String password) {
		super();
		this.userName = userName;
		this.password = password;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值