时间:2021-05-20
package com.cq2022.zago.base.util;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.StringWriter;import java.util.List;import java.util.Map;import org.codehaus.jackson.JsonFactory;import org.codehaus.jackson.JsonGenerationException;import org.codehaus.jackson.JsonGenerator;import org.codehaus.jackson.JsonNode;import org.codehaus.jackson.JsonParseException;import org.codehaus.jackson.map.JsonMappingException;import org.codehaus.jackson.map.ObjectMapper;import org.codehaus.jackson.map.SerializationConfig;import org.codehaus.jackson.map.annotate.JsonSerialize;import com.alibaba.fastjson.JSONArray;/** * Json工具类,实现JSON与Java Bean的互相转换 */public class JsonUtils { private static ObjectMapper objectMapper = new ObjectMapper(); private static JsonFactory jsonFactory = new JsonFactory(); static { objectMapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false); objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); } /** * 泛型返回,json字符串转对象 * @param jsonAsString * @param pojoClass * @return * @throws JsonMappingException * @throws JsonParseException * @throws IOException */ public static <T> T fromJson(String jsonAsString, Class<T> pojoClass) throws JsonMappingException, JsonParseException, IOException { return objectMapper.readValue(jsonAsString, pojoClass); } public static <T> T fromJson(FileReader fr, Class<T> pojoClass) throws JsonParseException, IOException { return objectMapper.readValue(fr, pojoClass); } /** * Object对象转json * @param pojo * @return * @throws JsonMappingException * @throws JsonGenerationException * @throws IOException */ public static String toJson(Object pojo) throws JsonMappingException, JsonGenerationException, IOException { return toJson(pojo, false); } public static String toJson(Object pojo, boolean prettyPrint) throws JsonMappingException, JsonGenerationException, IOException { StringWriter sw = new StringWriter(); JsonGenerator jg = jsonFactory.createJsonGenerator(sw); if (prettyPrint) { jg.useDefaultPrettyPrinter(); } objectMapper.writeValue(jg, pojo); return sw.toString(); } public static void toJson(Object pojo, FileWriter fw, boolean prettyPrint) throws JsonMappingException, JsonGenerationException, IOException { JsonGenerator jg = jsonFactory.createJsonGenerator(fw); if (prettyPrint) { jg.useDefaultPrettyPrinter(); } objectMapper.writeValue(jg, pojo); } /** * json字符串转Map * @param jsonStr * @return * @throws IOException */ public static Map<String, Object> parseMap(String jsonStr) throws IOException { Map<String, Object> map = objectMapper.readValue(jsonStr, Map.class); return map; } public static JsonNode parse(String jsonStr) throws IOException { JsonNode node = null; node = objectMapper.readTree(jsonStr); return node; } public static ObjectMapper getObjectMapper() { return objectMapper; } /** * json字符串转 List对象 * @param str json字符串 * @param clazz 转换的类型 * @return */ public static <T> List<T> fromListJson(String str,Class<T> clazz){ return JSONArray.parseArray(str, clazz); }}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java遍历json字符串,取得相应KV值时,各种麻烦,比如将json中的list取出来转为JSONArray,再将list中的object转化为map,再取值
本文实例总结了Java实现Json字符串与Object对象相互转换的方式。分享给大家供大家参考,具体如下:Json-Lib、Org.Json、Jackson、G
javascript中对象与字符串的互转对象转为字符串:通过JSON.encode方法,这个是json.js里面的方法,引入到当前文件就可以了。字符串转换为对象
本文实例讲述了JS对象与json字符串相互转换实现方法。分享给大家供大家参考,具体如下:今天在面试的时候,面试官问到js对象与json字符串的互转问题,由于自己
今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下:1.json类型的字符串转换为json对象及取值varjsonString='