json简易操作类
2012-04-19 10:46:49| 分类:
java_5
| 标签:
|举报
|字号大中小 订阅
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
/**
* json的操作类
*
* @author wsz
* @createTime 2012-4-12
* @version 1.0
*/
public class JsonUtil {
/**
* 传入任意一个 object对象生成一个指定规格的字符串
*
* @param object 任意对象
* @return String
*/
public static String objectToJson(Object object) {
StringBuilder json = new StringBuilder();
if (object == null) {
json.append("\"\"");
} else if (object instanceof String || object instanceof Integer || object instanceof Double) {
json.append("\"").append(object.toString()).append("\"");
} else if(object instanceof Map) {
json.append(mapToJson((Map)object));
} else {
json.append(beanToJson(object));
}
return json.toString();
}
/**
* 传入任意一个map对象生成一个指定规格的字符串
* @param object
* @return
*/
private static String mapToJson(Map map) {
// TODO Auto-generated method stub
StringBuilder json = new StringBuilder();
json.append("{");
if(map!=null) {
Set set = map.entrySet();
for(Iterator it=set.iterator();it.hasNext();) {
Entry en = (Entry)it.next();
String name = (String)en.getKey();
String value = objectToJson(en.getValue());
json.append(name);
json.append(":");
json.append(value);
json.append(",");
}
json.setCharAt(json.length()-1, '}');
}else {
json.append("}");
}
return json.toString();
}
/**
* 传入任意一个 Javabean对象生成一个指定规格的字符串
*
* @param bean bean对象
* @return String "{}"
*/
public static String beanToJson(Object bean) {
StringBuilder json = new StringBuilder();
json.append("{");
PropertyDescriptor[] props = null;
try {
props = Introspector.getBeanInfo(bean.getClass(), Object.class).getPropertyDescriptors();
} catch (Exception e) {
e.printStackTrace();
}
if (props != null) {
for (int i = 0; i < props.length; i++) {
try {
String name = objectToJson(props[i].getName());
String value = objectToJson(props[i].getReadMethod().invoke(bean,null));
json.append(name);
json.append(":");
json.append(value);
json.append(",");
} catch (Exception e) {
}
}
json.setCharAt(json.length() - 1, '}');
} else {
json.append("}");
}
return json.toString();
}
/**
* 通过传入一个列表对象,调用指定方法将列表中的数据生成一个JSON规格指定字符串
*
* @param list 列表对象
* @return String "[{},{}]"
*/
public static String listToJson(List list) {
StringBuilder json = new StringBuilder();
json.append("[");
if (list != null && list.size() > 0) {
for (Iterator it=list.iterator();it.hasNext();) {
Object obj = it.next();
json.append(objectToJson(obj));
json.append(",");
}
json.setCharAt(json.length() - 1, ']');
} else {
json.append("]");
}
return json.toString();
}
public static void main(String[] args) {
/*Test111 test111 = new Test111();
test111.setAddr("啦啦");
test111.setName("人");
Test111 test222 = new Test111();
test222.setAddr("他他他");
test222.setName("dfdg");*/
Map kk = new HashMap();
kk.put("name1", "明白1");
kk.put("name2","明白11111");
Map kk1 = new HashMap();
kk1.put("name1", "明白2");
kk1.put("name2","明白2222");
List list = new ArrayList();
list.add(kk);
list.add(kk1);
/*list.add(test111);
list.add(test222);*/
System.out.println(JsonUtil.listToJson(list));
}
}
评论这张
转发至微博
转发至微博
评论