1.import java.util.Collection;
2. import java.util.HashMap;
3. import java.util.Map;
4.
5. import net.sf.json.JSONArray;
6. import net.sf.json.JSONObject;
7.
8. /**
9. * JSON和JAVA的POJO的相互转换
10. *
11. * @author ptah 2009-10-16 JSONUtil.java
12. */
13. public final class JSONUtil {
14.
15. // 将String转换成JSON
16. public static String string2json(String key, String value) {
17. JSONObject object = new JSONObject();
18. object.put(key, value);
19. return object.toString();
20. }
21.
22. // 将JSON转换成数组,其中valueClz为数组中存放的对象的Class
23. public static Object json2Array(String json, Class valueClz) {
24. JSONArray jsonArray = JSONArray.fromObject(json);
25. return JSONArray.toArray(jsonArray, valueClz);
26. }
27.
28. // 将Collection转换成JSON
29. public static String collection2json(Object object) {
30. JSONArray jsonArray = JSONArray.fromObject(object);
31. return jsonArray.toString();
32. }
33.
34. // 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,
35. // valueClz为Collection中存放的对象的Class
36. public static Collection json2Collection(String json, Class collectionClz,
37. Class valueClz) {
38. JSONArray jsonArray = JSONArray.fromObject(json);
39. return JSONArray.toCollection(jsonArray, valueClz);
40. }
41.
42.
43. // 将数组转换成JSON
44. public static String array2json(Object object) {
45. JSONArray jsonArray = JSONArray.fromObject(object);
46. return jsonArray.toString();
47. }
48.
49. // 将Map转换成JSON
50. public static String map2json(Object object) {
51. JSONObject jsonObject = JSONObject.fromObject(object);
52. return jsonObject.toString();
53. }
54.
55. // 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key
56. public static Map json2Map(Object[] keyArray, String json, Class valueClz) {
57. JSONObject jsonObject = JSONObject.fromObject(json);
58. Map classMap = new HashMap();
59.
60. for (int i = 0; i < keyArray.length; i++) {
61. classMap.put(keyArray[i], valueClz);
62. }
63.
64. return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);
65. }
66.
67. // 将POJO转换成JSON
68. public static String bean2json(Object object) {
69. JSONObject jsonObject = JSONObject.fromObject(object);
70. return jsonObject.toString();
71. }
72.
73. // 将JSON转换成POJO,其中beanClz为POJO的Class
74. public static Object json2Object(String json, Class beanClz) {
75. return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
76. }
77.
78. // 将JSON转换成String
79. public static String json2String(String json, String key) {
80. JSONObject jsonObject = JSONObject.fromObject(json);
81. return jsonObject.get(key).toString();
82. }
83.
84. }
2. import java.util.HashMap;
3. import java.util.Map;
4.
5. import net.sf.json.JSONArray;
6. import net.sf.json.JSONObject;
7.
8. /**
9. * JSON和JAVA的POJO的相互转换
10. *
11. * @author ptah 2009-10-16 JSONUtil.java
12. */
13. public final class JSONUtil {
14.
15. // 将String转换成JSON
16. public static String string2json(String key, String value) {
17. JSONObject object = new JSONObject();
18. object.put(key, value);
19. return object.toString();
20. }
21.
22. // 将JSON转换成数组,其中valueClz为数组中存放的对象的Class
23. public static Object json2Array(String json, Class valueClz) {
24. JSONArray jsonArray = JSONArray.fromObject(json);
25. return JSONArray.toArray(jsonArray, valueClz);
26. }
27.
28. // 将Collection转换成JSON
29. public static String collection2json(Object object) {
30. JSONArray jsonArray = JSONArray.fromObject(object);
31. return jsonArray.toString();
32. }
33.
34. // 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,
35. // valueClz为Collection中存放的对象的Class
36. public static Collection json2Collection(String json, Class collectionClz,
37. Class valueClz) {
38. JSONArray jsonArray = JSONArray.fromObject(json);
39. return JSONArray.toCollection(jsonArray, valueClz);
40. }
41.
42.
43. // 将数组转换成JSON
44. public static String array2json(Object object) {
45. JSONArray jsonArray = JSONArray.fromObject(object);
46. return jsonArray.toString();
47. }
48.
49. // 将Map转换成JSON
50. public static String map2json(Object object) {
51. JSONObject jsonObject = JSONObject.fromObject(object);
52. return jsonObject.toString();
53. }
54.
55. // 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key
56. public static Map json2Map(Object[] keyArray, String json, Class valueClz) {
57. JSONObject jsonObject = JSONObject.fromObject(json);
58. Map classMap = new HashMap();
59.
60. for (int i = 0; i < keyArray.length; i++) {
61. classMap.put(keyArray[i], valueClz);
62. }
63.
64. return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);
65. }
66.
67. // 将POJO转换成JSON
68. public static String bean2json(Object object) {
69. JSONObject jsonObject = JSONObject.fromObject(object);
70. return jsonObject.toString();
71. }
72.
73. // 将JSON转换成POJO,其中beanClz为POJO的Class
74. public static Object json2Object(String json, Class beanClz) {
75. return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
76. }
77.
78. // 将JSON转换成String
79. public static String json2String(String json, String key) {
80. JSONObject jsonObject = JSONObject.fromObject(json);
81. return jsonObject.get(key).toString();
82. }
83.
84. }