依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
<!--阿里巴巴提供的fastson解析器-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
</dependencies>
代码
实体
package pojo;
import java.io.Serializable;
public class people implements Serializable {
private int id;
private String name;
private String gender;
private int age;
public people(int id, String name, String gender, int age) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "people{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
'}';
}
}
代码测试
package test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import org.junit.Before;
import org.junit.Test;
import pojo.people;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.List;
public class redis {
/**
* 数据池配置
* 1数据池配置
* 2设置条件
* 3数据池 host port timeout
* 4获取源头
*/
private Jedis jedis;
@Test
@Before
public void init(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(50);
jedisPoolConfig.setMinIdle(5);
jedisPoolConfig.setMaxIdle(20);
JedisPool jedisPool = new JedisPool(jedisPoolConfig,"114.116.11.98",6379,6000);
this.jedis=jedisPool.getResource();
}
//对象转json
/**
* 对象转json
* 1json.toJSONString
* 2key value
* 打印
*/
@Test
public void redis01(){
people people = new people(1,"张子辉","男",18);
System.out.println(people);
String peopleJson = JSON.toJSONString(people);
System.out.println("转换成json的对象是"+peopleJson);
jedis.set("people",peopleJson);
String person = jedis.get("people");
System.out.println(person);
jedis.close();
}
//json转对象
/**
* 1:获取json
* 2:json.parseobject
* 3:关闭
*
*/
@Test
public void redis02(){
String people = jedis.get("people");
System.out.println("这是json格式"+people);
pojo.people people1 = JSON.parseObject(people, pojo.people.class);
System.out.println("json转对象"+people1);
jedis.close();
}
//集合转json 然后json集合转对象
/**
* 步骤
* 1 获取json
* 2 parse对象 参数 pojo 工具类
* 3 遍历输出
* 4 关闭
*/
@Test
public void redis03(){
//对象转成json
String people3 = jedis.get("people");
System.out.println("json格式的对象"+people3);
List<pojo.people> people1 = JSON.parseObject(people3, new TypeReference<List<people>>(){
});
for (pojo.people people2 : people1){
System.out.println(people2);
}
System.out.println("转成对象的list json");
jedis.close();
}
}
Redis使用数据源操作 json对象之间转换
于 2022-10-17 21:23:33 首次发布