fastJson应用简介

Json的几种值形式:{  } 、  [  ]  、 "  "  、 '  '      //    "  "  和  '  '  为单纯的值,字符串或者数值 

对应的JSON对象:JSONObject、JSONArray、……

对应的JAVA对象:HashMap、ArrayList、……

对应构建的Bean:子Bean、List


JSON.parseObject  //将String序列化为 JSONObject 对象

JSON.parse              //将String序列化为Object对象

JSON.parseArray    //将String序列化为 JSONArray 对象


JSON.parseObject(Json字符串, Bean.class);    //将String序列化为 对应的Bean 对象

JSON.parseObject(JSONObject 对象.toString(), Bean.class);    //将JSONObject 对象转化为 对应的Bean 对象


JSON.parseArray(Json字符串, Bean.class);    /将String(   [    ]  )序列化为 对应的Bean 对象List

JSON.parseArray(JSONArray 对象.toString(), Bean.class);     //将JSONArray 对象转化为 对应的Bean 对象List


(JSONObject或者JSONArray)JSON.toJSON(Bean对象)    //将Bean转化为JSONObject对象或者JSONArray对象



JSONObject 对象的 toJSONString() 方法

JSONArray 对象的 toJSONString() 方法

JSON 的 toJSONString  静态方法 ,Object均可

可在形参声明是否生成带格式(即带有缩进和换行)的字符串

默认情况下值为null的Object的字段所生成的字符串不显示

但是如 int 在不赋值的情况下生成的字符串被赋值为0

默认情况下字符串值加的是双引号,如果需要单引号,选择不定形参的方法,形参为 SerializerFeature.UseSingleQuotes

默认情况下Date类型输出的值为long型的数值,如果需要格式化输出,选择不定形参的方法,形参为 SerializerFeature.WriteDateUseDateFormat

如果需要指定日期格式输出,则使用toJSONStringWithDateFormat方法,在第二个形参指定日期格式,如:"yyyy-MM-dd HH:mm:ss.SSS"

可以加入实参 SerializerFeature.WriteClassName 为输出字符串写入类型信息

在序列化过程中,fastjson 可能自作主张的在输出的字符串中改变字段的大小写,在这里可以在字段对应的Get方法前使用@JSONField(name="XXX"),将名字强制的声明为XXX

其他SerializerFeature

SerializerFeature.WriteNullListAsEmpty, // list字段如果为null,输出为[],而不是null
SerializerFeature.WriteNullNumberAsZero, // 数值字段如果为null,输出为0,而不是null
SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果为null,输出为false,而不是null
SerializerFeature.WriteNullStringAsEmpty // 字符类型字段如果为null,输出为"",而不是null


泛型的反序列化

Map<String, Bean>  map1 = JSON.parseObject(Json字符串, new  TypeReference<Map<String, Bean>>() {});

组合类型集合的反序列化(   String text =  [{/*header*/}, {/*body*/}]    )

Type[] types = new  Type[] {Header.class, Body.class};
List<Object> list = JSON.parseArray(text, types);
Header header = (Header) list.get(0);
Body body = (Body) list.get(1);









JSONObject 对象的 getXXX 方法,可以获得 {  } 内部对应 key 值的 value ,包括JSONObject 对象、JSONArray对象、字符串和各种类型的数值

JSONArray 对象的 getXXX 方法,可以获得 [  ] 内部对应 index 的 value ,包括JSONObject 对象、JSONArray对象、字符串和各种类型的数值



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值