实现类
public class Bean_to_json {
/**
* *
* description:JavaBean转换为Json
*/
public static String beanToJson(Object obj) {
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
StringBuffer json = new StringBuffer();
json.append("{[");
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
String name = field.getName();
String methodName = "get" + name.substring(0, 1).toUpperCase()
+ name.substring(1);
try {
Method method = clazz.getMethod(methodName, null);
Object type = method.getReturnType();
if ("class java.lang.String".equals(type.toString())) {
if (i == (fields.length - 1)) {
json.append("'" + name + "':'"
+ method.invoke(obj, null).toString() + "'");
} else {
json.append("'" + name + "':'"
+ method.invoke(obj, null).toString() + "',");
}
} else {
if (i == (fields.length - 1)) {
json.append("'" + name + "':"
+ method.invoke(obj, null).toString() + "");
} else {
json.append("'" + name + "':"
+ method.invoke(obj, null).toString() + ",");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
json.append("]}");
return json.toString();
}
/**
* *
* description:List转换为Json
*/
public static String listToJson(List list) {
StringBuffer json = new StringBuffer();
json.append("{");
int listLength = list.size();
for (int i = 0; i < listLength; i++) {
json.append("[");
Object obj = list.get(i);
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
int length = fields.length;
for (int j = 0; j < length; j++) {
try {
Field field = fields[j];
String name = field.getName();
String methodName = "get"
+ name.substring(0, 1).toUpperCase()
+ name.substring(1);
Method method = clazz.getMethod(methodName, null);
Object type = method.getReturnType();
if ("class java.lang.String".equals(type.toString())) {
if (j == (length - 1)) {
if (i == (listLength - 1)) {
json.append("'" + name + "':'"
+ method.invoke(obj, null) + "']");
} else {
json.append("'" + name + "':'"
+ method.invoke(obj, null) + "'],");
}
} else {
json.append("'" + name + "':'"
+ method.invoke(obj, null) + "',");
}
} else {
if (j == (length - 1)) {
if (i == (listLength - 1)) {
json.append("'" + name + "':"
+ method.invoke(obj, null) + "]");
} else {
json.append("'" + name + "':"
+ method.invoke(obj, null) + "],");
}
} else {
json.append("'" + name + "':"
+ method.invoke(obj, null) + ",");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
json.append("}");
return json.toString();
}
/**
* *
* description:Map转换为Json
*/
public static String mapToJson(Map<String,Object> map){
StringBuffer json = new StringBuffer();
json.append("{");
int mapLength = map.size();
Set<String> keys = map.keySet();
Iterator it = keys.iterator();
int keysLength = keys.size();
while(it.hasNext()){
String key = (String)it.next();
json.append("'"+key+"':[");
Object obj = map.get(key);
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
int length = fields.length;
for (int i = 0; i < length; i++) {
try {
Field field = fields[i];
String name = field.getName();
String methodName = "get"
+ name.substring(0, 1).toUpperCase()
+ name.substring(1);
Method method = clazz.getMethod(methodName, null);
Object type = method.getReturnType();
if ("class java.lang.String".equals(type.toString())) {
if(i==(length-1)){
json.append("'"+name+"':'"+method.invoke(obj, null)+"'");
}else{
json.append("'"+name+"':'"+method.invoke(obj, null)+"',");
}
}else{
if(i==(length-1)){
json.append("'"+name+"':"+method.invoke(obj, null)+"");
}else{
json.append("'"+name+"':"+method.invoke(obj, null)+",");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
json.append("],");
}
json = new StringBuffer(json.substring(0,json.length()-1));
json.append("}");
return json.toString();
}
public static void main(String[] args) {
Student student = new Student("1", "name", 22, "....");
System.out.println(beanToJson(student));
List<Student> list = new ArrayList<Student>();
Student student1 = new Student("1", "name", 22, "....");
Student student2 = new Student("1", "name", 22, "....");
Student student3 = new Student("1", "name", 22, "....");
list.add(student3);
list.add(student2);
list.add(student1);
System.out.println(listToJson(list));
Map<String,Object> map = new HashMap<String,Object>();
map.put("1", student1);
map.put("2", student2);
map.put("3", student3);
System.out.println(mapToJson(map));
}
}
测试结果
{['sid':'1','name':'name','age':22,'address':'....']}
{['sid':'1','name':'name','age':22,'address':'....'],['sid':'1','name':'name','age':22,'address':'....'],['sid':'1','name':'name','age':22,'address':'....']}
{'3':['sid':'1','name':'name','age':22,'address':'....'],'2':['sid':'1','name':'name','age':22,'address':'....'],'1':['sid':'1','name':'name','age':22,'address':'....']}