电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

jsonjson处理经典

27页
  • 卖家[上传人]:san****019
  • 文档编号:70556308
  • 上传时间:2019-01-17
  • 文档格式:PPT
  • 文档大小:604.01KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、JSON及JSON处理,什么是JSON,JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。 更多信息的可以查看json的官方网站http:/json.org。,JSON建构于两种结构-1,“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 在

      2、Java语言中,我们可以将它理解成HashMap. 对象是一个无序的“名称/值对”集合。一个对象以“”(左括号)开始,“”(右括号)结束。每个“名称”后跟一个“:”(冒号);“名称/值 对”之间使用“,”(逗号)分隔。 示例:var json = “name”:”Jack”,”age”:90,”Marray”:true;,JSON建构于两种结构-2,值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array或List)。 数组是值(value)的有序集合。一个数组以“”(左中括号)开始,“”(右中括号)结束。值之间使用“,”(逗号)分隔。 示例:var json = “Jack”,”Rose”,”Tom”,89,true,false;,JSON的解析:,JSON的解析分成两种情况: 将Object/Array解析成JSON字符串,这种情况一般用于响应用户的输出。 将Json串解析成Object或是Array,这种情况一般用于服务器接收到了用户请求的JSON串。 目前比较流行的解析工具为: json-lib。 fastjson.,使用j

      3、son-lib解析:,准备jar包: (可以从struts2的包中找到他们,因为struts2用它) commons-beanutils.jar commons-collections-3.1.jar commons-lang-2.3.jar commons-logging.jar ezmorph-1.0.4.jar json-lib-2.3-jdk15.jar这是json-lib的核心包,上面都是它的依赖包,Json-lib:,将Array解析成json串。使用JSONArray可以解析Array类型:,Json-lib:,将JavaBean/Map解析成JSON串:使用JSONObject:,Json-lib:,使用JsonConfig过虑属性:适用于JavaBean/Map,输出结果为:“id”:“A001”,注意,没有name属性。,Json-lib:,将json串转换成Array:,以下是输出结果:,Json-lib:,将json串转成JavaBean/Map:,Fastjson介绍:,Fastjson是一个Java语言编写的JSON处理器。 1、遵循http:/json.o

      4、rg标准,为其官方网站收录的参考实现之一。 2、功能强大,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。 3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。 4、开源,使用Apache License 2.0协议开源。 、支持使用注解对字段的过虑。 Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON,JSON类的功能:,public static final Object parse(String text); / 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); / 把JSON文本parse成JSONObject public static final T parseObject(String text, Class clazz); / 把JSON文本parse为JavaBean public static final JSONArray parse

      5、Array(String text); / 把JSON文本parse成JSONArray public static final List parseArray(String text, Class clazz); /把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); / 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); / 将JavaBean序列化为带格式的JSON文本 public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。,FastJson示例:将Java对象转成JSON串:,FastJson:使用注解过虑去除某些字段:,FastJson-将字符串转成对象:,更多功能详情 以下示例仅供参考.,其他示例:对某些字段

      6、时间名称转换:,使用PropertyFilter过虑不需要的字段:,ValueFilter值过虑,使用JSONField定制序列化,原型接口,原型接口支持。这个功能借鉴自jackson,比较好玩,也许能够节省代码,循环引用,很多用户在初次使用fastjson时都遇到了循环引用的问题,这是反映最多的问题,我越来越认识到支持循环引用的必要性。经过测试,加入循环应用的支持对性能的影响很小,小于5。我决定在1.1.3加入循环应用支持,而且是缺省打开这个特性。 fastjson支持的循环应用是自然的,不需要象jackson那样,需要Annotation设置。fastjson支持的引用,是基于path的,方便javascript解析。 Fastjson目前已经为我们解决好了循环引用的问题。,循环引用的解决办法,在1.1.3版本之前,fastjson不支持循环引用。有些对象存在循环引用,例如: parent和children之间存在循环应用了,执行JSON序列化时会报错:“com.alibaba.fastjson.JSONException: maybe circular references” 。 解决办法一 在parent字段上添加修饰符transient 解决办法二 使用Annotation JSONField标注不需要序列化getParent属性,按字段名称排序后输出,很多场合需要按字段名称排序之后输出,为了满足这一需求,fastjson 提供了一个新特性SortField。 使用方式如下: JSON.toJSONString(object, SerializerFeature.SortField),自定义序列化,自省支持,在标准中,将对象序列化为JSON文本之后,就丢失了类型信息。虽然fastjson能够支持parse时传入Class来实现类型的识别,但是这个有局限性,在fastjson 1.1.3之后,完善支持一个特性,就是自省。,输出的信息如下:注意type信息,

      《jsonjson处理经典》由会员san****019分享,可在线阅读,更多相关《jsonjson处理经典》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.