1. package my.bigdata.movieTask.action;
  2.  
  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.JSONArray;
  5. import com.alibaba.fastjson.JSONObject;
  6.  
  7. import java.util.ArrayList;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11.  
  12. /**
  13. * Created by lq on 2017/7/6.
  14. */
  15. public class Test {
  16.  
  17. public static void main(String[] args) {
  18. //使用javabean转json时javabean必须有getset方法
  19. // json2JsonObjectM1();//将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息
  20. // json2BeanM2();//将Json文本数据转换为JavaBean数据!
  21. // json2JSONArrayM3();//将json数据转化为JSONArray:
  22. // json2JavaBeanM4();//将JSON文本转换为JavaBean的集合;转换为单纯的1个Object:parseObject(String text, Class<T> clazz);
  23. // bean2JsonM5();//将JavaBean转换为Json格式的数据/Json文本 用户数据的传递:例如上传服务器
  24. bean2JSONObjectM6();//将JavaBean转换为JSON对象
  25. // complexExampleM7();//一个相对复杂的例子:
  26. // complex2JsonM8();//一个复杂的Object到Json的Demo
  27. // complexMap2JsonM9();//将Map数据转换为JsonString的Demo;这个对RedBoy服务端不就直接破了嘛!
  28. }
  29.  
  30. /**
  31. * 将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息
  32. */
  33. private static void json2JsonObjectM1() {
  34. //一个JsonObject文本数据
  35. String s = "{\"name\":\"liuzhao\"}";
  36. //将JsonObject数据转换为Json
  37. JSONObject object = JSON.parseObject(s);
  38. //利用键值对的方式获取到值
  39. System.out.println(object.get("name"));
  40. /**
  41. * 打印:
  42. * liuzhao
  43. */
  44. }
  45.  
  46. /**
  47. * 将Json文本数据转换为JavaBean数据!
  48. * 需要注意的是:这时候的Json文本信息中的键的名称必须和JavaBean中的字段名称一样!键中没有的在这个JavaBean中就显示为null!
  49. */
  50. private static void json2BeanM2() {
  51. String s = "{\"id\":\"0375\",\"city\":\"平顶山\"}";
  52. //一个简单方便 的方法将Json文本信息转换为JsonObject对象的同时转换为JavaBean对象!
  53. Weibo weibo = JSON.parseObject(s, Weibo.class);//Weibo类在下边定义
  54. System.out.println(weibo.getId());
  55. System.out.println(weibo.getCity());
  56. //打印的结果 0375
  57. // 平顶山
  58. }
  59.  
  60. /**
  61. * 将Map类型的数据转换为JsonString
  62. */
  63. private static void complexMap2JsonM9() {
  64. Group group = new Group();
  65. group.setId();
  66. group.setName("group");
  67.  
  68. User user1 = new User();
  69. user1.setId();
  70. user1.setName("user1");
  71.  
  72. User user2 = new User();
  73. user2.setId();
  74. user2.setName("user2");
  75. group.getList().add(user1);
  76. group.getList().add(user2);
  77.  
  78. Map<Integer, Object> map = new HashMap<Integer,Object>();
  79. map.put(, "No.1");
  80. map.put(, "No.2");
  81. map.put(, group.getList());
  82.  
  83. String jsonString = JSON.toJSONString(map);
  84. System.out.println(jsonString);
  85. /**
  86. * 输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":"user2"}]}
  87. */
  88. }
  89.  
  90. /**
  91. * 由一个复杂的Object到Json的Demo
  92. */
  93. private static void complex2JsonM8() {
  94. Group group = new Group();
  95. group.setId();
  96. group.setName("group");
  97.  
  98. User user1 = new User();
  99. user1.setId();
  100. user1.setName("user1");
  101.  
  102. User user2 = new User();
  103. user2.setId();
  104. user2.setName("user2");
  105. group.getList().add(user1);
  106. group.getList().add(user2);
  107. String jsonString = JSON.toJSONString(group);
  108. System.out.println(jsonString);
  109. /**
  110. * 输出:{"id":1,"list":[{"id":2,"name":"user1"},{"id":3,"name":"user2"}],"name":"group"}
  111. */
  112. }
  113.  
  114. /**
  115. * 一个相对复杂的例子:
  116. * JSON文本数据:
  117. * 首先是JSONObject,转换为JSONArray;
  118. * 然后将JSONArray转换为JavaBean
  119. */
  120. private static void complexExampleM7() {
  121. String s = "{js:[{id:\"110000\",\"city\":\"北#001京市\"},{id:\"110000\",\"city\":\"北#002京市\"}"
  122. + ",{id:\"110000\",\"city\":\"北#002京市\"},{id:\"110000\",\"city\":\"北#002京市\"},"
  123. + "{id:\"110000\",\"city\":\"#006北#005京市\"},"
  124. + "{id:\"110000\",\"city\":\"北#002京市\"},"
  125. + "{id:\"110000\",\"city\":\"北#002京市\"},{id:\"120000\",\"city\":\"天#009津市\"}]}";
  126.  
  127. JSONObject object = JSON.parseObject(s);
  128. Object jsonArray = object.get("js");
  129. System.out.println(jsonArray);
  130. List<Weibo> list = JSON.parseArray(jsonArray+"", Weibo.class);
  131. for (Weibo weibo : list) {
  132. System.out.println(weibo.getCity());
  133. }
  134. }
  135.  
  136. /**
  137. * 将JavaBean转换为JSON对象
  138. */
  139. private static void bean2JSONObjectM6() {
  140. Weibo weibo = new Weibo("", "洛阳");
  141. JSONObject json = (JSONObject) JSON.toJSON(weibo);
  142.  
  143. System.out.println(json.get("id"));
  144. System.out.println(json.toJSONString());
  145. System.out.println(json.toString());
  146. /**
  147. * 打印:
  148. * 0373
  149. */
  150. }
  151.  
  152. /**
  153. * 将JSON文本转换为JavaBean的集合;
  154. * 内部实现肯定是:首先转换为JSONArray,然后再转换为List集合
  155. */
  156. private static void json2JavaBeanM4() {
  157. String s = "[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]";
  158. List<Weibo> list = JSON.parseArray(s, Weibo.class);
  159. for (Weibo weibo : list) {
  160. System.out.println(weibo.getCity());
  161. }
  162. /**
  163. * 打印:
  164. * 平顶山
  165. * 南阳
  166. */
  167. }
  168.  
  169. /**
  170. * 将json数据转化为JSONArray:
  171. * 注意:获取到JSONArray之后(我们这里只是获取到JSONArray而不是JavaBean的List集合)
  172. * 获取JSONArray中的数据转换为String类型需要在外边加"";
  173. */
  174. private static void json2JSONArrayM3() {
  175. String s = "[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]";
  176. //将JSON文本转换为JSONArray
  177. JSONArray array = JSON.parseArray(s);
  178. //这行必须写:必须加上+"";不然会报出类型强转异常!
  179. String str = array.get()+"";
  180. System.out.println(array.get());
  181. JSONObject object = JSON.parseObject(str);
  182. System.out.println(object.get("id"));
  183. /**
  184. * {"city":"平顶山","id":"0375"}
  185. 0377
  186. */
  187. }
  188.  
  189. /**
  190. * 将JavaBean转换为Json格式的数据/Json文本
  191. * 用户数据的传递:例如上传服务器
  192. */
  193. private static void bean2JsonM5() {
  194. Weibo weibo = new Weibo("", "上海");
  195. String string = JSON.toJSONString(weibo);
  196. System.out.println(string);
  197. /**
  198. * 打印:
  199. * {"city":"上海","id":"123456"}
  200. */
  201. }
  202.  
  203. }
  204.  
  205. class User{
  206. private int id;
  207. private String name;
  208. public int getId() {
  209. return id;
  210. }
  211. public void setId(int id) {
  212. this.id = id;
  213. }
  214. public String getName() {
  215. return name;
  216. }
  217. public void setName(String name) {
  218. this.name = name;
  219. }
  220. }
  221. class Group{
  222. private int id;
  223. private String name;
  224. private List<User> list = new ArrayList<User>();
  225. public int getId() {
  226. return id;
  227. }
  228. public void setId(int id) {
  229. this.id = id;
  230. }
  231. public String getName() {
  232. return name;
  233. }
  234. public void setName(String name) {
  235. this.name = name;
  236. }
  237. public List<User> getList() {
  238. return list;
  239. }
  240. public void setList(List<User> list) {
  241. this.list = list;
  242. }
  243. }
  244.  
  245. class Weibo {
  246. private String id;
  247. private String city;
  248.  
  249. public Weibo(String id, String city) {
  250. this.id = id;
  251. this.city = city;
  252. }
  253.  
  254. public Weibo() {
  255. }
  256.  
  257. public String getId() {
  258. return id;
  259. }
  260.  
  261. public void setId(String id) {
  262. this.id = id;
  263. }
  264.  
  265. public String getCity() {
  266. return city;
  267. }
  268.  
  269. public void setCity(String city) {
  270. this.city = city;
  271. }
  272. }

json demo的更多相关文章

  1. python json demo

    值得注意的一点是,list类型的数据可以用[2,3]的方式定义,如"b" import json jsonData = '{"a":1,"b" ...

  2. JSON格式化与serialize序列化

    一.JSON格式化 1. JSON是什么 JSON是一种数据的存储格式,用来沟通客户端Javascript和服务端PHP的交互.我们把用PHP生成JSON后的字符串传给前台Javascript,Jav ...

  3. 深入了解Struts2返回JSON数据的原理

    首先来看一下JSON官方对于"JSON"的解释: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...

  4. 如何用js定义数组,用js来拼接json字段

    定义js数组的方式有: var arr = (); var arr = []; var arr = new Array(); 如何拼接成一个json字段. <!DOCTYPE HTML PUBL ...

  5. angularJs , json,html片段,bootstrap timepicker angular

    css .demotest { width: %; height: auto; overflow: auto; position: relative; margin: auto; margin-top ...

  6. android Json 解析和生成

    什么是json: JSON即JavaScript Object Natation的简称,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互.JSON易于人阅读和编写.同时也易于机 ...

  7. Ajax-数据格式-xml,json

    xml demo testDataXml <%@ page language="java" contentType="text/html; charset=UTF- ...

  8. struts2中的json

    这里放一个转载的struts2中json的详细应用和范例, http://yshjava.iteye.com/blog/1333104,这是个人在网上看到的很用心也很详细的一份关于struts2中js ...

  9. Structs2中Action返回json到前台方法

    1.传统方式JSON输出 这一点跟传统的Servlet的处理方式基本上一模一样,代码如下 01 public void doAction() throws IOException{ 02        ...

随机推荐

  1. iOS 图片部分模糊,类似于美图秀秀

    代码地址如下:http://www.demodashi.com/demo/14277.html 演示效果 演示效果 代码结构 项目结构截图如下: 该模块的核心源码部分为 MBPartBlurView, ...

  2. Move semantics(C++11)

    /*  * Compile with:   *       g++ move_test.c -o move_test -std=c++11 -g -fno-elide-constructors  * ...

  3. mysql高效索引之覆盖索引

    概念 如果索引包含所有满足查询需要的数据的索引成为覆盖索引(Covering Index),也就是平时所说的不需要回表操作 判断标准 使用explain,可以通过输出的extra列来判断,对于一个索引 ...

  4. 兼容火狐,ie8的 js urlencode和urldecode

    function UrlEncode(str)//url编码{ var i,temp,p,q; var result=""; for(i=0;i<str.length;i++ ...

  5. 利用HttpWebRequest模拟表单提交 JQuery 的一个轻量级 Guid 字符串拓展插件. 轻量级Config文件AppSettings节点编辑帮助类

    利用HttpWebRequest模拟表单提交   1 using System; 2 using System.Collections.Specialized; 3 using System.IO; ...

  6. Python modf() 函数

    描述 modf() 方法返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示. 语法 以下是 modf() 方法的语法: import math math.modf( x ) 注 ...

  7. Latex中定义、定理、引理、证明 设置方法总结

    Latex中定义.定理.引理.证明 设置方法总结 在LaTex中需要有关定理.公理.命题.引理.定义等时,常用如下命令 \newtheorem{定理环境名}{标题}[主计数器名] \newtheore ...

  8. unity 显示帧率

    Game视图右上角Stats按钮按下即可显示统计信息.

  9. unity, mesh Collider

    关闭mesh Renderer以便查看mesh Collider "For Unity 5, we must also select "Convex" on the Me ...

  10. MySQL获取刚插入的数据

    1. 通过自增的键auto_increment取得. select max(id) from tablename 这样的做法须要考虑并发的情况.须要在事务中对主表加以"X锁",待获 ...