1. 程式人生 > >【Java】將Java物件序列化/反序列化為JSON,並寫入redis

【Java】將Java物件序列化/反序列化為JSON,並寫入redis

RedisUtil類和spring_config.xml配置檔案在這篇文章:【Redis】Spring整合Redis  中給出了,這裡不再贅述。

① 依賴匯入

 <!-- fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.12</version>
        </dependency>

②User實體類

package com.cqh.PojoToJson;

/**
 * Created by yl1794 on 2018/4/2.
 */
public class User {

        private String id;
        private String name;
        private String password;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        @Override
        public String toString() {
            return "User [id=" + id + ", name=" + name + ", password=" + password
                    + "]";
        }
}

③測試類

package com.cqh.PojoToJson;

import com.alibaba.fastjson.JSON;
import com.cqh.Cache_Spring_Redis.RedisUtil;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by yl1794 on 2018/4/2.
 */
public class Test_PojoToJson_Redis {
    public static void main(String[] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("spring_config.xml");
        RedisUtil redisUtil = (RedisUtil)context.getBean("redisUtil");

        User userToJson = new User();
        userToJson.setId("150327003");
        userToJson.setName("cqh");
        userToJson.setPassword("123456");

        // 將Java物件序列化為JSON,並寫入redis
        System.out.println(JSON.toJSONString(userToJson));
        redisUtil.set("userToJson", JSON.toJSONString(userToJson));

        // 直接取出來是一個Object
        System.out.println( redisUtil.get("userToJson"));

        // 反序列化為User物件
        User jsonToUser = JSON.parseObject( redisUtil.get("userToJson").toString(), User.class);
        System.out.println(jsonToUser);

    }
}

④結果