
分类: java 2013-01-07 11:22 128人阅读 评论(0) 收藏 举报
java 把集合List Map Set String Array Bean Object 转成JSON的工具类,不多说了,见代码:
[java] view plaincopyprint?
01.public class JSONUtil {
02.
03. /**
04. * 把object转成Json
05. *
06. * @param obj
07. * @return
08. */
09. public static String object2json(Object obj) {
10. StringBuilder json = new StringBuilder();
11. if (obj == null) {
12. json.append("\\"\\"");
13. } else if (obj instanceof String || obj instanceof Integer
14. || obj instanceof Float || obj instanceof Boolean
15. || obj instanceof Short || obj instanceof Double
16. || obj instanceof Long || obj instanceof BigDecimal
17. || obj instanceof BigInteger || obj instanceof Byte) {
18. json.append("\\"").append(string2json(obj.toString())).append("\\"");
19. } else if (obj instanceof Object[]) {
20. json.append(array2json((Object[]) obj));
21. } else if (obj instanceof List) {
22. json.append(list2json((List>) obj));
23. } else if (obj instanceof Map) {
24. json.append(map2json((Map, ?>) obj));
25. } else if (obj instanceof Set) {
26. json.append(set2json((Set>) obj));
27. } else {
28. json.append(bean2json(obj));
29. }
30. return json.toString();
31. }
32.
33. /**
34. * 把bean转成Json
35. *
36. * @param bean
37. * @return
38. */
39. public static String bean2json(Object bean) {
40. StringBuilder json = new StringBuilder();
41. json.append("{");
42. PropertyDescriptor[] props = null;
43. try {
44. props = Introspector.getBeanInfo(bean.getClass(), Object.class)
45. .getPropertyDescriptors();
46. } catch (IntrospectionException e) {
47. }
48. if (props != null) {
49. for (int i = 0; i < props.length; i++) {
50. try {
51. String name = object2json(props[i].getName());
52. String value = object2json(props[i].getReadMethod().invoke(
53. bean));
54. json.append(name);
55. json.append(":");
56. json.append(value);
57. json.append(
* @param list
72. * @return
73. */
74. public static String list2json(List> list) {
75. StringBuilder json = new StringBuilder();
76. json.append("[");
77. if (list != null && list.size() > 0) {
78. for (Object obj : list) {
79. json.append(object2json(obj));
80. json.append(
);
1. for (int i = 0; i < s.length(); i++) {
165. char ch = s.charAt(i);
166. switch (ch) {
167. case '"':
168. sb.append("\\\\\\"");
169. break;
170. case '\\\\':
171. sb.append("\\\\\\\\");
172. break;
173. case '\\b':
174. sb.append("\\\\b");
175. break;
176. case '\\f':
177. sb.append("\\\\f");
178. break;
179. case '\
':
180. sb.append("\\\
");
181. break;
182. case '\
':
183. sb.append("\\\
");
184. break;
185. case '\':
186. sb.append("\\\");
187. break;
188. case '/':
1. sb.append("\\\\/");
190. break;
191. default:
192. if (ch >= '\