网站大量收购闲置独家精品文档,联系QQ:2885784924

json老json处理经典课件.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
json老json处理经典课件

使用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信息 * //将array解析成json串 String[] str = {Jack,Tom,90,true}; JSONArray json = JSONArray.fromObject(str); System.err.println(json); //对像数组,注意数字和布而值 Object[] o = {北京,上海,89,true,90.87}; json = JSONArray.fromObject(o); System.err.println(json); //使用集合类 ListString list = new ArrayListString(); list.add(Jack); list.add(Rose); json = JSONArray.fromObject(list); System.err.println(json); //使用set集 SetObject set = new HashSetObject(); set.add(Hello); set.add(true); set.add(99); json = JSONArray.fromObject(set); System.err.println(json); * * package cn.json; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SerializerFeature; public class Demo { @Test public void demo1(){ //将Array转成json串 String[] str = {AAA,BBB,CCC}; String ss = JSON.toJSONString(str); System.err.println(ss); //将List转成Json串 ListString list = new ArrayListString(); list.add(Hello); list.add(北京); ss = JSON.toJSONString(list); System.err.println(ss); //将map转成json串 MapString,Object map = new HashMap

文档评论(0)

150****4233 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档