这篇文章主要讲解了“Json与JavaBean怎么转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Json与JavaBean怎么转换”吧!
maven依赖:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.22</version> </dependency>
举例:
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<User> arrayObj = new ArrayList<User>(); 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<User> userList = JSON.parseArray(jsonString2, User.class); } }
maven依赖:
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.3</version> <classifier>jdk15</classifier> </dependency>
举例:
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<User> obj3 = new ArrayList<User>(); 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怎么转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。