欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    jsonjson处理经典课件.ppt

    • 资源ID:2145629       资源大小:604.01KB        全文页数:27页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    jsonjson处理经典课件.ppt

    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)。 在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.,使用json-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.org标准,为其官方网站收录的参考实现之一。 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 parseArray(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-将字符串转成对象:,更多功能详情 以下示例仅供参考.,其他示例:对某些字段时间名称转换:,使用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处理经典课件.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开