后端传值 ------- JSON 与 对象 间数据转换的三种方式

本文对比介绍了三种后端向前端传输数据的常用方式:Spring Boot集成的Jackson、Gson库以及Fastjson。通过实际案例演示了如何将对象转换为JSON并存储到Redis中,以及如何解析回对象。
摘要由CSDN通过智能技术生成

后端向前端传值时, 需要将对象转换为JSON串进行传递, 以下介绍三种数据转换方式

  1. jackson
  2. gson
  3. fastjson

方式一: 利用 spring-boot-starter-web 依赖下的 spring-boot-starter-json 依赖, 实现 JSON串 与 对象之间的转换

工程依赖介绍:
在这里插入图片描述
案例: 以JSON格式存储一个对象到redis数据库

@SpringBootTest
public class StringRedisTemplateTests {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    // 使用Spring-web依赖中的jackson
    @Test
    public void testRedisStringOperations2() throws JsonProcessingException {
        Map<String, Object> map = new HashMap<>();
        map.put("username", "ls");
        map.put("password", 123456);
        // Map -> JSON
        String JSON = new ObjectMapper().writeValueAsString(map);
        ValueOperations<String, String> operations =
                stringRedisTemplate.opsForValue();
        operations.set("user", JSON);
        String user = operations.get("user");
        System.out.println(user); // String
        // String -> Map
        map = new ObjectMapper().readValue(user, map.getClass());
        System.out.println(map); // Map
    }
}

**方式二: ** 使用第三方依赖 GSON

工程依赖介绍:
在这里插入图片描述
案例: 以JSON格式存储一个对象到redis数据库

public class JedisTests {
	@Test
    public void testStringOperation2(){
        Jedis jedis = new Jedis("192.168.126.128", 6379);

        Map<String, Object> map = new HashMap<>();
        map.put("id", 1);
        map.put("name", "jack");
        map.put("password", "123456");

        Gson gson = new Gson();
        // Map -> JSON
        String json = gson.toJson(map);
        System.out.println(json); // String

        jedis.set("user", json);
        String user = jedis.get("user");
        System.out.println(user);
        // JSON -> Map
        Map<String, Object> obj = gson.fromJson(user, Map.class);
        System.out.println(obj); // Map
        jedis.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xingxing...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值