背景
在前后端分离的项目中,后端经常涉及到json与对象互转的场景。阿里巴巴的Fastjson是好用,但是,因为技术领导
的原因(可能因为fastjson1的各种问题很多吧),不让用,所以就需要选择其他技术栈。当前比较常用的是SpringBoot自带的Jackson或者谷歌的Gson。
下面,做一下使用Jackson的总结。
JavaBean准备
- Company,公司
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Company {
private String companyName;
private List<WebSite> webSites;
}
- WebSite,站点
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WebSite {
private String webSiteName;
private List<User> users;
}
- User,用户
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String userId;
private String username;
private String password;
}
json字符串和对象互转
对象转json字符串
不管你是什么结构的对象,想转json,直接objectMapper.writeValueAsString()
搞定。
/**
* 序列化:对象转json字符串,包含多个数组
*
*/
@Test
public void testObject2Json2() {
User user2 = new User("1","上海辟谣专属队","职业辟谣,不信谣,不传谣,呵呵");
List<User> users = new ArrayList<>();
users.add(user2);
WebSite webSite = new WebSite();
webSite.setWebSiteName("xxxxxx.com");
webSite.setUsers(users);
List<WebSite> webSites = new ArrayList<>();
webSites.add(webSite);
Company company = new Company();
company.setCompanyName("yyyyyy");
company.setW