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;
}
}
java json和object互换
最新推荐文章于 2024-11-02 16:30:36 发布