千家信息网

Json与JavaBean怎么转换

发表于:2024-10-26 作者:千家信息网编辑
千家信息网最后更新 2024年10月26日,这篇文章主要讲解了"Json与JavaBean怎么转换",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Json与JavaBean怎么转换"吧!maven
千家信息网最后更新 2024年10月26日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怎么转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0