目录
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
fastJson将json格式字符串转化成List集合
注:json格式字符串必须符合数组型格式如[{"a":a},{"b":b}]
场景一:前端向后台传递数组格式的json字符串,如何转化成List集合
List<AccountBean> readJson2List =JSON.parseArray(json, AccountBean.class)注意这里是Bean.class而不是List.class
@Test
public void readJson2ListBean() {
String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]";
List<AccountBean> readJson2List =JSON.parseArray(json, AccountBean.class);
//输出测试
JsonUtils.beanToJson(readJson2List);
}
场景二:前端向后台传递数组格式的json字符串,如何转化成List<HashMap<String,Object>>集合
@Test
public void readJson2ListMap() {
String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]";
List<HashMap> readJson2List =JSON.parseArray(json,HashMap.class);
//输出测试
JsonUtils.beanToJson(readJson2List);
}
fastJson将json格式字符串转化成对象
场景一:前端向后台传递数组格式的json字符转化成Bean对象
@Test
public void readJson2Bean() {
String json = "{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}";
AccountBean accountBean =JSON.parseObject(json,AccountBean.class);
//输出测试
JsonUtils.beanToJson(accountBean);
}
场景二:前端向后台传递数组格式的json字符串Map<String,Object>集合
@Test
public void readJson2Map() {
String json = "{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}";
HashMap<String,Object> accountBean =JSON.parseObject(json,Map.class);
//输出测试
JsonUtils.beanToJson(accountBean);
}
测试:
FastJson将对象或集合转化成json格式字符串
@Test
public void beanAndCollectionTOJson() {
AccountBean bean = new AccountBean();
bean.setAddress("china-Guangzhou");
bean.setEmail("hoojo_@126.com");
bean.setId(1);
bean.setName("hoojo");
String json = JSON.toJSONString(bean);
System.out.println(json);
}
FastJson将json格式字符串转化成json对象
@Test
public void jsonStringTOJsonBean() {
String json = "{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}";
JSONObject parse = (JSONObject) JSON.parse(json);
String address = (String) parse.get("address");
System.out.println("输出address=="+address);
}
FastJson将json格式字符串转化成json数组
@Test
public void jsonString2JsonArray() {
String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]";
JSONArray parseArray = JSON.parseArray(json);
//输出测试
JsonUtils.beanToJson(parseArray.get(0));
}
FastJson将java对象转化成json对象
@Test
public void beanAndCollectionTOJsonBean() {
AccountBean bean = new AccountBean();
bean.setAddress("china-Guangzhou");
bean.setEmail("hoojo_@126.com");
bean.setId(1);
bean.setName("hoojo");
JSONObject json = (JSONObject) JSON.toJSON(bean);
json.get("address");
System.out.println(json);
}