java中ArrayListMapObject与Json互相转换.doc_第1页
java中ArrayListMapObject与Json互相转换.doc_第2页
java中ArrayListMapObject与Json互相转换.doc_第3页
java中ArrayListMapObject与Json互相转换.doc_第4页
java中ArrayListMapObject与Json互相转换.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JSON(JavaScript Object Notation): 是一种轻量级的数据交换格式一、JSON建构有两种结构:对象和数组1、对象:对象在js中表示为“”扩起来的内容,数据结构为 key:value,key:value,.的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。2、数组:数组在js中是中括号“”扩起来的内容,数据结构为 java,javascript,vb,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。经过对象、数组2种结构就可以组合成复杂的数据结构了。二、具体形式1、对象(1)一个对象以“”(左括号)开始,“”(右括号)结束。(2)每个“名称”后跟一个“:”(冒号)(3)“名称/值 对”之间使用“,”(逗号)分隔例子:表示人的一个对象:姓名 : 大憨,年龄 : 242、数组是值(value)的有序集合。(1)一个数组以“”(左中括号)开始,“”(右中括号)结束。(2)值之间使用“,”(逗号)分隔。例子:一组学生学生 :姓名 : 小明 , 年龄 : 23,姓名 : 大憨 , 年龄 : 24说明:此Json对象包括了一个学生数组,而学生数组中的值又是两个Json对象。说了这些基本了解json的数据结构了.补充:在线Json校验格式化工具:/go.php?u=/index.php三、老样子上次demo这时我的工程结构图:上面引用到的外部库大家网上搜索下载configdata.json:javascriptview plaincopy1. 2. true,3. false,4. true5. Address类:javaview plaincopy1. /*2. *Title:创建Address实体类的POJO3. *Description:TODO(用一句话描述该文件做什么)4. *authorPotter5. *date2013-2-18上午10:16:036. *versionV1.07. */8. 9. publicclassAddress10. privateStringstreet;/街道11. privateStringcity;/城市12. privateintzip;/邮编13. privateStringtel;/第一个电话号码14. privateStringtelTwo;/第二个电话号码15. 16. publicAddress()17. 18. 19. publicAddress(Stringstreet,Stringcity,intzip,Stringtel,StringtelTwo)20. this.street=street;21. this.city=city;22. this.zip=zip;23. this.tel=tel;24. this.telTwo=telTwo;25. 26. 27. publicStringgetStreet()28. returnstreet;29. 30. 31. publicvoidsetStreet(Stringstreet)32. this.street=street;33. 34. 35. publicStringgetCity()36. returncity;37. 38. 39. publicvoidsetCity(Stringcity)40. this.city=city;41. 42. 43. publicintgetZip()44. returnzip;45. 46. 47. publicvoidsetZip(intzip)48. this.zip=zip;49. 50. 51. publicStringgetTel()52. returntel;53. 54. 55. publicvoidsetTel(Stringtel)56. this.tel=tel;57. 58. 59. publicStringgetTelTwo()60. returntelTwo;61. 62. 63. publicvoidsetTelTwo(StringtelTwo)64. this.telTwo=telTwo;65. 66. JsonTest类:javaview plaincopy1. importjava.io.File;2. importjava.io.FileNotFoundException;3. importjava.io.FileReader;4. importjava.io.IOException;5. importjava.util.ArrayList;6. importjava.util.LinkedHashMap;7. importjava.util.List;8. importjava.util.Map;9. 10. importnet.sf.ezmorph.bean.MorphDynaBean;11. importnet.sf.json.JSONArray;12. importnet.sf.json.JSONFunction;13. importnet.sf.json.JSONObject;14. 15. publicclassJsonTest16. 17. publicstaticvoidmain(Stringargs)18. /javaArray和json互相转换19. javaArrayAndJsonInterChange();20. System.out.println(-);21. /javaList和json互相转换22. javaListAndJsonInterChange();23. System.out.println(-);24. /javaMpa和Json互转25. javaMapAndJsonInterChange();26. System.out.println(-);27. /javaObject和jsonObject互转28. javaObjectAndJsonInterChange();29. 30. 31. /*32. *javaArray和json互相转换33. */34. publicstaticvoidjavaArrayAndJsonInterChange()35. /java转数组36. booleanboolArray=newbooleantrue,false,true;37. JSONArrayjsonArray=JSONArray.fromObject(boolArray);38. Strings=jsonArray.toString();39. System.out.println(s);40. 41. /通过json获取数组中的数据42. Stringresult=readJson(configdata);43. 44. JSONArrayjsonR=JSONArray.fromObject(result);45. intsize=jsonR.size();46. for(inti=0;isize;i+)47. System.out.println(jsonR.get(i);48. 49. 50. 51. /*52. *javaList和json互相转换53. */54. publicstaticvoidjavaListAndJsonInterChange()55. Listlist=newArrayList();56. list.add(newInteger(1);57. list.add(newBoolean(true);58. list.add(newCharacter(j);59. list.add(newcharj,s,o,n);60. list.add(null);61. list.add(json);62. list.add(newStringjson,-,lib);63. 64. /list转JSONArray65. JSONArrayjsArr=JSONArray.fromObject(list);66. System.out.println(jsArr.toString(4);67. 68. /从JSON串到JSONArray69. jsArr=JSONArray.fromObject(jsArr.toString();70. /-从JSONArray里读取71. /print:json72. System.out.println(JSONArray)jsArr.get(6).get(0);73. 74. 75. /*76. *javaMpa和Json互转77. */78. publicstaticvoidjavaMapAndJsonInterChange()79. Mapmap=newLinkedHashMap();80. map.put(integer,newInteger(1);81. map.put(boolean,newBoolean(true);82. map.put(char,newCharacter(j);83. map.put(charArr,newcharj,s,o,n);84. /注:不能以null为键名,否则运行报net.sf.json.JSONException:85. /java.lang.NullPointerException:86. /JSONkeysmustnotbenullnorthenullstring.87. map.put(nullAttr,null);88. 89. map.put(str,json);90. map.put(strArr,newStringjson,-,lib);91. map.put(jsonFunction,newJSONFunction(newStringi,alert(i);92. map.put(address,newAddress(P.OBOX54534,Seattle,WA,42452,561-832-3180,531-133-9098);93. /map转JSONArray94. JSONObjectjsObj=JSONObject.fromObject(map);95. System.out.println(jsObj.toString(4);96. 97. /从JSON串到JSONObject98. jsObj=JSONObject.fromObject(jsObj.toString();99. 100. /第一种方式:从JSONObject里读取101. /print:json102. System.out.println(jsObj.get(str);103. /print:address.city=Seattle,WA104. System.out.println(address.city=+(JSONObject)jsObj.get(address).get(city);105. 106. 107. /第二种方式:从动态Bean里读取数据,由于不能转换成具体的Bean,感觉没有多大用处108. MorphDynaBeanmdBean=(MorphDynaBean)JSONObject.toBean(jsObj);109. /print:json110. System.out.println(mdBean.get(str);111. /print:address.city=Seattle,WA112. System.out.println(address.city=+(MorphDynaBean)mdBean.get(address).get(city);113. 114. 115. 116. /*117. *javaObject和jsonObject互转118. */119. publicstaticvoidjavaObjectAndJsonInterChange()120. Addressaddress=newAddress(P.OBOX54534,Seattle,WA,42452,561-832-3180,531-133-9098);121. /object转JSONObject122. JSONObjectjsObj=JSONObject.fromObject(address);123. System.out.println(jsObj.toString(4);124. 125. /JsonObject转javaObject126. 127. AddressaddressResult=(Address)JSONObject.toBean(jsObj,Address.class);128. System.out.println(address.city=+addressResult.getCity();129. System.out.println(address.street=+addressResult.getStreet();130. System.out.println(address.tel=+addressResult.getTel();131. System.out.println(addr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论