快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Json与JavaBean怎么转换

这篇文章主要讲解了“Json与JavaBean怎么转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Json与JavaBean怎么转换”吧!

站在用户的角度思考问题,与客户深入沟通,找到蓬莱网站设计与蓬莱网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖蓬莱地区。

maven依赖:


	com.alibaba
	fastjson
	1.1.22

举例:

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.JSON;

/**
 * 如果对象的属性没有被赋值,那么将对象转换为json串时:
 *
 * 		字符串类型的属性:	默认会忽略该属性
 * 		Integer类型的属性:	默认会忽略该属性
 * 		Date类型的属性:	        默认会忽略该属性
 * 		int类型的属性:		默认会被转换为0
 */
public class TestFastJson {

	public static void main(String[] args) {
		
		User obj1 = new User();  
		obj1.setAge(1);  
		obj1.setName("jack");
		
		User obj2 = new User();  
		obj2.setAge(2);  
		obj2.setName("tom");
		obj2.setTime(new Date());
		
		ArrayList arrayObj = new ArrayList();
		arrayObj.add(obj1);
		arrayObj.add(obj2);
		
		
		// 将对象转换为json串  
		String jsonString1 = JSON.toJSONString(obj1);	// {"age":1,"name":"jack"}
		String jsonString2 = JSON.toJSONString(arrayObj);	// [{"age":1,"name":"jack"},{"age":2,"name":"tom","time":1503289848086}]
		
		// 将json串转换为对象类型  
		User user = JSON.parseObject(jsonString1, User.class); 
		List userList = JSON.parseArray(jsonString2, User.class); 
		
	}
}

maven依赖:


	net.sf.json-lib
	json-lib
	2.3
	jdk15

举例:

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

/**
 * 如果对象的属性没有被赋值,那么将对象转换为json串时:
 *
 * 		字符串类型的属性:		默认会被转换为空串""
 * 		int、Integer类型的属性:	默认会被转换为0
 * 		Date类型的属性:			默认会被转换为null
 *
 */
public class TestSfJson {

	public static void main(String[] args) {
		
		// 1.普通对象转换为json串
		User obj1 = new User();
		obj1.setName("jack");
		obj1.setAge(17);
		
		JSONObject jsonObj1 = JSONObject.fromObject(obj1);
		String jsonStr1 = jsonObj1.toString();
		System.out.println(jsonStr1);	// {"age":17,"name":"jack"}
		
		// 2.设置Date类型属性值的处理策略
		Employee obj2 = new Employee();
		obj2.setName("jack");
		obj2.setAge(17);
		obj2.setBirthday(new Date());
		
		JsonConfig jsonConfig = new JsonConfig();
		jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());
		
		JSONObject jsonObj2 = JSONObject.fromObject(obj2,jsonConfig);
		String jsonStr2 = jsonObj2.toString();
		System.out.println(jsonStr2);	// {"age":17,"birthday":"2017-08-21 11:04:47","name":"jack"}
		
		// 3.数组对象转换为json串
		User user1 = new User();
		user1.setName("jack");
		user1.setAge(17);
		User user2 = new User();
		user2.setName("tom");
		user2.setAge(18);
		
		List obj3 = new ArrayList();
		obj3.add(user1);
		obj3.add(user2);
		// 或:User[] obj3 = {user1,user2};
		
		JSONArray jsonObj3 = JSONArray.fromObject(obj3);
		String jsonStr3 = jsonObj3.toString();
		System.out.println(jsonStr3);	// [{"age":17,"name":"jack"},{"age":18,"name":"tom"}]
		
		// 4.直接构造JSONObject对象
		JSONObject jsonObj = new JSONObject();
		jsonObj.put("name", "jack");
		jsonObj.put("age", 17);
		String jsonStr = jsonObj.toString();
		System.out.println(jsonStr);	// {"name":"jack","age":17} 
		
	}
}


import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;

public class JsonDateValueProcessor implements JsonValueProcessor {

	private String format = "yyyy-MM-dd HH:mm:ss";

	public JsonDateValueProcessor() {
		super();
	}

	public JsonDateValueProcessor(String format) {
		super();
		this.format = format;
	}

	[@Override](https://my.oschina.net/u/1162528)
	public Object processArrayValue(Object paramObject, JsonConfig paramJsonConfig) {
		return process(paramObject);
	}

	[@Override](https://my.oschina.net/u/1162528)
	public Object processObjectValue(String paramString, Object paramObject, JsonConfig paramJsonConfig) {
		return process(paramObject);
	}

	private Object process(Object value) {
		if (value instanceof Date) {
			SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.CHINA);
			return sdf.format(value);
		}
		return value == null ? "" : value.toString();
	}

}

感谢各位的阅读,以上就是“Json与JavaBean怎么转换”的内容了,经过本文的学习后,相信大家对Json与JavaBean怎么转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页标题:Json与JavaBean怎么转换
URL地址:http://6mz.cn/article/iihdgs.html

其他资讯