java中如何将json字符串同对象之间相互转换呢?
下文笔者讲述json字符串和对象之间相互转换的方法分享,如下所示
JSON字符串和对象互相转换的实现思路
字符串转对象(字符串转json数组) JSON.parseArray JSON对象转字符串 JSONObject.toJSONString 或 JSON.toJSONString例:json字符串和对象之间相互转换
//定义一个实体类
@Data
pubilc class UserVo {
private String name;
private Long age;
}
//json字符串转换为对象
String jsonStr = "{\"name\":\"猫猫\",\"age\":22}";
JSONArray jsonArray = JSON.parseArray(jsonStr);
UserVo UserVo = (UserVo) JSONObject.parseArray(jsonArray.toJSONString(), UserVo.class);
//多个对象
String jsonStr = "[{\"name\":\"猫猫\",\"age\":22},{\"name\":\"狗狗\",\"age\":17}]";
JSONArray jsonArray = JSON.parseArray(jsonStr);
list<UserVo> userList = JSONObject.parseArray(jsonArray.toJSONString(), UserVo.class)
String userStr = "{\"userList\":[{\"name\":\"猫猫\",\"age\":22},{\"name\":\"狗狗\",\"age\":17}]}";
JSONObject userJson = JSON.parseObject(userStr);
JSONArray userArray = userJson.getJSONArray("userList");
//第一种解析方式:直接解析为对象list
List<UserVo> studentsList = JSONObject.parseArray(studentArray.toJSONString(), UserVo.class);
for (int i = 0; i < userArray.size(); i++) {
JSONObject user = userArray.getJSONObject(i);
UserVo UserVo = new UserVo();
UserVo.setStudentName(student.getString("studentName"));
UserVo.setStudentAge(student.getString("studentAge"));
}
//对象转json字符串
//方式1:
String jsonObjectStr = JSONObject.toJSONString(userList);
//方式2:
String jsonObjectStr = JSON.toJSONString(userList);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


