StringBoot中String转JSON,JSON转Map或List
废话不多说直接上干货
String转JSON
没有什么特别注意的,直接把Object的值放入JSON.toJSONString(args)中
Object[] args = [{"id":1,"sex":1,"name":"蒙娜丽莎"}];
String json = JSON.toJSONString(args);
JSON转List
注意: 在转List集合之前你需要先查看JSON是单条还是多条数据,数据是否在【】括号里面,只有在【】括号里面才符合ArrayList集合的格式;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
// JSON格式的字符串转换为List<Map<String,Object>>
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Map<String, Object>> list = objectMapper.readValue(json, List.class);
System.err.println("list = " + list); //打印:[{del=false, gdsj=1619364722000, hdbh=蒙娜丽莎, jdr=交档人, scwj=上传文件, sdr=收档人}]
for (int i = 0; i < list.size(); i++) {
//直接获取想要的字段
json = (String) list.get(i).get("name");
}
} catch (IOException e) {
e.printStackTrace();
}
JSON转Map
注意: 如果你的JSON只会存在一条数据,建议使用Map集合,这样可以减少代码的编写数量并且更精确的调用指定字段;
注意: 建议于数据是不在【】括号里面的集合的格式
/**
* 注意导包
*/
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
Map<String, Object> list = objectMapper.readValue(json , new TypeReference<Map<String, Object>>() {});
System.err.println("list = " + list); //list = {code=1, data=true, message=归档成功}
params = (String) list.get("message");
本文介绍了在Java中如何将String转换为JSON,以及如何将JSON转换为List和Map。强调在转换时需注意JSON数据的格式,如List数据需在方括号中,而单条数据适合存储到Map中。


被折叠的 条评论
为什么被折叠?



