普通地说一下哈:便是实体类上的名字为model、data、time,我们在保存到json字符串中为m、d、t。
别焦急,

[{ "username": "wang", "password": "123"}]

优化后:

[{ "u": "wang", "p": "123"}]

现在大家明白了吧!

json实体类:

jsp页面如何将list转换为jsonJsonProperty字段修正成想要json字符串和list聚集互相转换 PHP

import com.fasterxml.jackson.annotation.JsonProperty;import lombok.Data;@Datapublic class Json { @JsonProperty("u") private String username; @JsonProperty("p") private String password;}

保存数据库的实体类:

@Datapublic class Test implements Serializable { private static final long serialVersionUID = 337361630075002456L; @TableId(type= IdType.ASSIGN_ID) private long id; private String name; private String gender; private String data; private LocalDateTime createDate; private LocalDateTime updateDate;}

下面我们转json就可以保存到数据库了,转json的时候就会按照我们写的u和p进行保存的!

四、json字符串和list凑集相互转化

@RestController@RequestMapping("/test")@Slf4j@RequiredArgsConstructorpublic class TestController { private final TestService testService; @NonNull private TestMapper testMapper; @GetMapping("/update") public Result update() throws JsonProcessingException { List<Json> jsonList = new ArrayList<>(); Json json = new Json(); json.setPassword("123"); json.setUsername("wang"); jsonList.add(json); Json json1 = new Json(); json1.setPassword("456"); json1.setUsername("zhang"); jsonList.add(json1); // list转json String jsonString = new ObjectMapper().writeValueAsString(jsonList); Test test = new Test(); test.setName("小米"); test.setId(100); test.setData(jsonString); testMapper.insert(test); // json 转 list List<Json> list = new ObjectMapper().readValue(jsonString, new TypeReference<List<Json>>() { }); System.out.println(list); return Result.success("成功"); }}

如果对@RequiredArgsConstructor不理解的可以看一下

我们再看一下数据库里保存的:

六、总结

铛铛铛!

测试终于结束,恭喜大家学到新东西,本来会的就赶紧关掉页面!

有缘人才可以看得到的哦!


小王博客站