Chinaunix首页 | 论坛 | 博客
  • 博客访问: 875537
  • 博文数量: 366
  • 博客积分: 10267
  • 博客等级: 上将
  • 技术积分: 4290
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:04
文章分类

全部博文(366)

文章存档

2012年(366)

分类: 系统运维

2012-03-17 21:21:02

上一篇已经给大家介绍过json的表达方式,这一篇讲开始介绍如何在java中生成json。

1.用json-lib生成json

要用到的jar包:commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging-1.1.1.jar, ezmorph-1.0.6.jar, json-lib-2.3-jdk15.jar

Java代码 复制代码 收藏代码
  1. //1.对象
  2. package com.hx.test;
  3. import com.hx.entity.Person;
  4. import net.sf.json.JSONObject;
  5. public class JsonTest {
  6. public static void main(String[] args) {
  7. Person person = new Person();
  8. person.setName("tom");
  9. person.setAddress("UK");
  10. person.setAge(14);
  11. JSONObject json = JSONObject.fromObject(person);
  12. System.out.println(json.toString());
  13. }
  14. }
  15. //输出结果为:
  16. //{"address":"UK","age":14,"name":"tom"}
  17. //2.数组和集合
  18. package com.hx.test;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. import net.sf.json.JSONArray;
  22. public class JsonTest {
  23. public static void main(String[] args) {
  24. List fruit = new ArrayList();
  25. fruit.add("apple");
  26. fruit.add("pear");
  27. fruit.add("orange");
  28. fruit.add("banana");
  29. JSONArray fruits = JSONArray.fromObject(fruit);
  30. System.out.println(fruits.toString());
  31. }
  32. }
  33. //输出结果:
  34. //["apple","pear","orange","banana"]
  35. //2)Map集合
  36. //Map集合比较特殊,因为 key-value键值对的对应方式,所以咱们应当用JSONObject来生成json。
  37. package com.hx.test;
  38. import java.util.HashMap;
  39. import java.util.Map;
  40. import net.sf.json.JSONObject;
  41. public class JsonTest {
  42. public static void main(String[] args) {
  43. Map map = new HashMap();
  44. map.put("001", "apple");
  45. map.put("002", "pear");
  46. map.put("003", "orange");
  47. map.put("004", "banana");
  48. JSONObject json = JSONObject.fromObject(map);
  49. System.out.println(json.toString());
  50. }
  51. }
  52. //输出结果:
  53. //{"004":"banana","001":"apple","002":"pear","003":"orange"}
  54. //3) Map集合扩展
  55. package com.hx.test;
  56. import java.util.ArrayList;
  57. import java.util.HashMap;
  58. import java.util.List;
  59. import java.util.Map;
  60. import net.sf.json.JSONObject;
  61. public class JsonTest {
  62. public static void main(String[] args) {
  63. Map> map = new HashMap>();
  64. List strList1 = new ArrayList();
  65. strList1.add("aa");
  66. strList1.add("bb");
  67. strList1.add("cc");
  68. List strList2 = new ArrayList();
  69. strList2.add("dd");
  70. strList2.add("ee");
  71. strList2.add("ff");
  72. List strList3 = new ArrayList();
  73. strList3.add("gg");
  74. strList3.add("hh");
  75. strList3.add("ii");
  76. map.put("001", strList1);
  77. map.put("002", strList2);
  78. map.put("003", strList3);
  79. JSONObject json = JSONObject.fromObject(map);
  80. System.out.println(json.toString());
  81. }
  82. }
  83. //输出结果:
  84. //{"001":["aa","bb","cc"],"002":["dd","ee","ff"],"003":["gg","hh","ii"]}
  85. /*
  86. 和json-lib相比,Gson操作就相当的更简单了
  87. 不管是对象还是数组,还是上面较复杂的map集合,
  88. 操作都是一样的,Gson是出自google,应为比较小巧,所以其自己系统android上面用的也 是这个。
  89. */
  90. //因为操作都一样,所以在这里只给大家演示一种情况。
  91. //别忘了导jar包:[i]gson-2.1.jar[/i]
  92. package com.hx.test;
  93. import com.google.gson.Gson;
  94. import com.hx.entity.Person;
  95. public class GsonTest {
  96. public static void main(String[] args) {
  97. Person person = new Person();
  98. person.setAddress("UK");
  99. person.setAge(14);
  100. person.setName("tom");
  101. Gson gson = new Gson();
  102. System.out.println(gson.toJson(person));
  103. }
  104. }
  105. //输出结果:
  106. //{"name":"tom","age":14,"address":"UK"}
//1.对象 package com.hx.test; import com.hx.entity.Person; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { Person person = new Person(); person.setName("tom"); person.setAddress("UK"); person.setAge(14); JSONObject json = JSONObject.fromObject(person); System.out.println(json.toString()); } } //输出结果为: //{"address":"UK","age":14,"name":"tom"} //2.数组和集合 package com.hx.test; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; public class JsonTest { public static void main(String[] args) { List fruit = new ArrayList(); fruit.add("apple"); fruit.add("pear"); fruit.add("orange"); fruit.add("banana"); JSONArray fruits = JSONArray.fromObject(fruit); System.out.println(fruits.toString()); } } //输出结果: //["apple","pear","orange","banana"] //2)Map集合 //Map集合比较特殊,因为 key-value键值对的对应方式,所以咱们应当用JSONObject来生成json。 package com.hx.test; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { Map map = new HashMap(); map.put("001", "apple"); map.put("002", "pear"); map.put("003", "orange"); map.put("004", "banana"); JSONObject json = JSONObject.fromObject(map); System.out.println(json.toString()); } } //输出结果: //{"004":"banana","001":"apple","002":"pear","003":"orange"} //3) Map集合扩展 package com.hx.test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { Map> map = new HashMap>(); List strList1 = new ArrayList(); strList1.add("aa"); strList1.add("bb"); strList1.add("cc"); List strList2 = new ArrayList(); strList2.add("dd"); strList2.add("ee"); strList2.add("ff"); List strList3 = new ArrayList(); strList3.add("gg"); strList3.add("hh"); strList3.add("ii"); map.put("001", strList1); map.put("002", strList2); map.put("003", strList3); JSONObject json = JSONObject.fromObject(map); System.out.println(json.toString()); } } //输出结果: //{"001":["aa","bb","cc"],"002":["dd","ee","ff"],"003":["gg","hh","ii"]} /* 和json-lib相比,Gson操作就相当的更简单了 不管是对象还是数组,还是上面较复杂的map集合, 操作都是一样的,Gson是出自google,应为比较小巧,所以其自己系统android上面用的也 是这个。 */ //因为操作都一样,所以在这里只给大家演示一种情况。 //别忘了导jar包:[i]gson-2.1.jar[/i] package com.hx.test; import com.google.gson.Gson; import com.hx.entity.Person; public class GsonTest { public static void main(String[] args) { Person person = new Person(); person.setAddress("UK"); person.setAge(14); person.setName("tom"); Gson gson = new Gson(); System.out.println(gson.toJson(person)); } } //输出结果: //{"name":"tom","age":14,"address":"UK"}
阅读(701) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~