zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Json字符串和对象相互转换

转换对象JSONJSON 字符串 相互
2023-06-13 09:15:06 时间

大家好,又见面了,我是你们的朋友全栈君。

文章目录

1、JsonUtil

工具类

import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtil { 

private static final ObjectMapper MAPPER = new ObjectMapper();
/** * 把对象转字符串 * @param data * @return */
public static String objectToJson(Object data){ 

try { 

return MAPPER.writeValueAsString(data);
}catch (Exception e){ 

e.printStackTrace();
}
return null;
}
/** * json字符串转对象 * @param jsonData * @param beanType * @param <T> * @return */
public static <T> T jsonToPojo(String jsonData, Class<T> beanType){ 

try { 

T t = MAPPER.readValue(jsonData,beanType);
return t;
}catch (Exception e){ 

e.printStackTrace();
}
return null;
}
}

Jackson

把对象转换为json字符串

ObjectMapper objectMapper = new ObjectMapper();
People peo = new People();
String jsonStr = objectMapper.writeValueAsString(peo);

把json字符串转换为对象

ObjectMapper objectMapper = new ObjectMapper();
People peo = objectMapper.readValue(jsonStr, People.class);

把json字符串转换为List集合

ObjectMapper objectMapper = new ObjectMapper();
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, People.class);
List<People> list = objectMapper.readValue(jsonStr, javaType);

2、Gson

把对象转换为json字符串

Gson gson = new Gson();
String userJson = gson.toJson(userObject);

把json字符串转换为对象

// str代表的是json字符串,Student.class代表的是你要转成的类型 Gson gson = new Gson(); Student student = gson.fromJson(str, Student.class);

把json字符串转换为List对象

Type type = new TypeToken<List<User>>() { 
}.getType();
List<User> userLists = new Gson().fromJson(json, type);

把list转换为json格式字符串

String json = new Gson().toJson(list);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234871.html原文链接:https://javaforall.cn