本文共 2118 字,大约阅读时间需要 7 分钟。
package com.help; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.util.List; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; public class JsonFunc { static ObjectMapper mapper = new ObjectMapper(); public static String toJSON(Object obj) { StringWriter writer = new StringWriter(); try { mapper.writeValue(writer, obj); } catch (JsonGenerationException e) { throw new RuntimeException(e); } catch (JsonMappingException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } return writer.toString(); } public static <T> T fromJSON(String json, Class<T> clazz) { ObjectMapper mapper = new ObjectMapper(); try { return mapper.readValue(json, clazz); } catch (JsonParseException e) { throw new RuntimeException(e); } catch (JsonMappingException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } } public static <T> T fromJSON(InputStream json, Class<T> clazz) { ObjectMapper mapper = new ObjectMapper(); try { return mapper.readValue(json, clazz); } catch (JsonParseException e) { throw new RuntimeException(e); } catch (JsonMappingException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } } public static List<String> getJsonList(String jstr,List<String> li) { char [] cstr = jstr.toCharArray(); boolean bend = false ; int istart =0; int iend =0; for ( int i=0 ; i < cstr.length; i++) { if ((cstr[i] == '{') && !bend) { istart = i; } if (cstr[i] == '}' && !bend) { iend = i; bend = true ; } } if (istart !=0) { String substr = jstr.substring(istart, iend+1); jstr = jstr.substring(0,istart-1) + jstr.substring(iend+1,jstr.length()); substr = substr.replace( ",\"children\":" , ""); substr = substr.replace( "]" , ""); substr = substr.replace( "[" , ""); li.add(substr); getJsonList(jstr,li); } return li; } }
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/751930,如需转载请自行联系原作者