


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JSON(JavaScript Object Notatio n) : 是一种轻量级的数据交换格式一、JSON建构有两种结构:对象和数组1、 对象:对象在js中表示为“扩起来的内容,数据结构为key : value,key : value,.的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象.key获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。2、 数组:数组在js中是中括号“扩'起来的内容,数据结构为"java","javascript","vb"
2、;,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是数字、字符串、数组、对象几种。经过对象、数组2种结构就可以组合成复杂的数据结构了。二、具体形式1、对象(1) 一个对象以“ ”左括号)开始,“ ”右括号)结束。(2)每个 名称”后跟一个“:('冒号)(3)名称/值对”之间使用“,('逗号)分隔例子:表示人的一个对象:"姓名”:"大憨","年龄":242、数组是值(value )的有序集合。(1) 一个数组以“(左中括号)开始,“”右中括号)结束。(2)值之间使用“,('逗号)分隔。例子:一组学生"
3、;学生":"姓名":"小明","年龄":23,"姓名":"大憨","年龄":24说明:此Json对象包括了一个学生数组,而学生数组中的值又是两个Json对象。说了这些基本了解json的数据结构了补充:在线Json校验格式化工具: on .com/go.php?u= on .com/i ndex.php一、老样子上次demo这时我的工程结构图:上面引用到的外部库大家网上搜索下载J 弓 JsonTest2# 3 srcj (default package)J Addre
4、ssava .JJ JsoriTestjavflHh J RE System Library JavaSE-l.t Referenced Librarie* u configconfigdJsan/ & mons-beanutilsJar .1 commons-co II ections-3皐,commons-httpdient-3-1 Jar 三 comma ns-lang-24 J ar三 comma ns-logging-1.1 Jar 亡 ezmorph-l»0»&jar 凰 json'lib-2*2*3-jdkl3jsrco
5、nfigdata.json:javascriptview plai ncopy1.2.true ,3.false ,4.true5.Address 类:java view plai ncopy2.* Title:创建 Address 实体类的 POJO3.* Description: TODO(用一句话描述该文件做什么)4.* author Potter5.* date 2013-2-18上午 10:16:036.* version V1.07.*/8.9.public class Address 10.private String street;/ 街道11.private String c
6、ity;/ 城市12.privateint zip; / 由b编13.private String tel;/ 第一个电话号码14.private String telTwo;/ 第二个电话号码15.16.public Address() 17.18.19.public Address(String street, String city,int zip, String tel, String telTwo)20.this .street = street;21.this .city = city;22.this .zip = zip;23.this .tel = tel;24.this .t
7、elTwo = telTwo;25.26.27.public String getStreet() 28.return street;29.30.31.public void setStreet(String street) 32.this .street = street;33.34.35.public String getCity() 36.return city;37.38.39.public void setCity(String city) 40.this .city = city;41.42.43.public int getZip() 44.return zip;46.47.pu
8、blic void setZip( int zip) 48.this .zip = zip;49.50.51.public String getTel() 52.return tel;53.54.55.public void setTel(String tel) 56.this .tel = tel;57.58.59.public String getTelTwo() 60.return telTwo;61.62.63.public void setTelTwo(String telTwo) 64.this .telTwo = telTwo;65.66.JsonTest 类:javaview
9、plai ncopy1.importjava.io.File;2.importjava.io.FileNotFoundException;3.importjava.io.FileReader;4.importjava.ioO Exception;5.importjava.util.ArrayList;6.importjava.util.LinkedHashMap;7.importjava.util.List;8.9importjava.util.Map;9.10.importnet.sf.ezmorph.bean.MorphDynaBean;11.importnet.sf.json.JSONA
10、rray;12.importnet.sf.json.JSONFunction;13.importnet.sf.json.JSONObject;14.15.publicclass JsonTest public static void main(String args) /javaArray 和json 互相转换 javaArrayAndJsonlnterChange();System.out.println("/javaList 和json互相转换 javaListAndJsonlnterChange();System.out.println("/javaMpa 和 Jso
11、n 互转 javaMapAndJsonlnterChange();System.out.println("/javaObject 和 jsonObject 互转 javaObjectAndJsonlnterChange();* javaArray*/public static);););和json互相转换void javaArrayAndJsonInterChange() / java 转数组boolean boolArray = new boolean true , falseJSONArray jsonArray = JSONArray.fromObject(boolArray)
12、;String s = jsonArray.toString();System.out.println(s);/通过json获取数组中的数据String result = readJson("configdata" );JSONArray jsonR = JSONArray.fromObject(result);int size = jsonR.size();for ( int i =0; i < size; i+) System.out.println(jsonR.get(i);* javaList*/public staticvoid javaListAndJso
13、nInterChange() List list =new ArrayList();list.add(new Integer( 1);list.add(new Boolean( true);list.add(new Character( 'j');list.add(new char 'j','s','o' , 'n' );list.add(null );和json互相转换true ;8.3
14、0.61.Iist.add("json");62.list.add(new String "json" , "-" , "lib");63.64./ list转 JSONArray65.JSONArray jsArr = JSONArray.fromObject(list);66.System.out.println(jsArr.toString(4);67.68./ 从 JSON 串到 J
15、SONArray69.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.public static void javaMapAndJsonlnterChange() 79.Map map =new LinkedHashMap();80.map.put("integer" , n
16、ew lnteger( 1);81.map.put("boolean" , new Boolean( true );82.map.put("char" , new Character( 'j');83.map.put("charArr" , new char 'j', 's','o' , 'n');84./ 注:不能以null为键名,否则运行报 net.sf.json.JSONException:85./ java.lang.NullPointerExce
17、ption:86./ JSON keys must not be null nor the 'null' string.87.map.put("nullAttr", null );88.89.map.put("str" , "json");90.map.put("strArr" , new String "json","-","lib");91.map.put("jsonFunction", new JSONFuncti
18、on(new String "i" , "alert(i)");92.map.put("address" , new Address( "P.O BOX 54534", "Seattle, WA", 42452,"561-832-3180", "531-133-9098");93./ map 转 JSONArray94.JSONObject jsObj = JSONObject.fromObject(map);95.System.out.println(j
19、sObj.toString(4);96.97./ 从 JSON 串到 JSONObject98.jsObj = JSONObject.fromObject(jsObj.toString();99.100./第一种方式:从JSONObject里读取101./ print: json102.System.out.println(jsObj.get("str");/ print: address.city = Seattle, WA+ (JSONObject) jsObj.get("addSystem.out.println("address.city =re
20、ss" ).get( "city");/第二种方式:从动态 Bean里读取数据,由于不能转换成具体的Bean,感觉没有多大用处MorphDynaBean mdBean = (MorphDynaBean) JSONObject.toBean(jsObj);/ print: jsonSystem.out.println(mdBean.get("str");/print: address.city = Seattle, WASystem.out.println("address.city = "+ (MorphDynaBean)
21、mdBean.get("address" ).get( "city");* javaObject和 jsonObject 互转*/public static void javaObjectAndJsonlnterChange()Address address=new Address( "P.O BOX 54534", "Seattle, WA" , 42452 ,561-832-3180", "531-133-9098");/object 转 JSONObjectJSONObject
22、jsObj = JSONObject.fromObject(address);System.out.println(jsObj.toString(4);/JsonObject 转 java ObjectclAddress addressResult=(Address) JSONObject.toBean(jsObj, Address.0039.140.141.ass);System.out.println(System.out.println(System.out.println(System.out.println(System.out.println("address.city =""addres
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年铁路运输安全管理师资格考试试卷及答案
- 2025年影视剪辑与后期制作实践考试卷及答案
- 2025年网页设计与制作考试试题及答案
- 2025年广告设计与创意基础考试试卷及答案
- 2025年文化产业管理专业入学考试试题及答案
- 新能源汽车高性能电机控制器研发与生产合作协议
- 高层建筑工程测量与抗震评估协议
- 直播平台主播IP授权合作协议
- 氢能源技术员项目绩效评估合同
- 多语种同传翻译术语库与技术解决方案租赁合同
- 光影中国学习通超星期末考试答案章节答案2024年
- 工科中的设计思维学习通超星期末考试答案章节答案2024年
- 2020年全国II卷英语高考真题试题(答案+解析)
- 脑洞大开背后的创新思维学习通超星期末考试答案章节答案2024年
- 科傻平差软件说明指导书
- ipo上市商业计划书
- 山东省青岛市市北区2023-2024学年七年级下学期英语期末考试试题
- 《养老护理员》-课件:老年人安全防范及相关知识
- 小儿肺炎诊治考核试题及答案
- 五年级信息技术第13课画城堡课件
- 林场储备林建设项目施工布署及平面布置
评论
0/150
提交评论