大家好,欢迎来到IT知识分享网。
使用FastJSON生成JSON字符串
JSON数据格式被广泛运用于客户端与服务器之间的数据传递过程,在使用Ajax技术对新闻发布系统部分功能进行改造时,也使用了JSON格式的响应,方便了复杂格式数据的传递和解析。但在实现过程中,服务器端需要按照JSON的语法对数据进行拼接,这是一个烦琐且易出错的过程,出现语法错误亦不好排查,所以接下来我们将FastJSON工具来简化这一工作。
FastJSON简介
FastJSON是一个性能很好的,有Java语言实现的JSON解析器和生成器,来自阿里巴巴。其代码托管在GitHub服务器上,在http://github.com/alibaba/fastjson/releases页面可以找到不同版本的jar文件和源代码下载路径。
FastJSON提供了把Java对象序列化成JSON字符串,以及将JSON字符串反序列化得到Java对象的功能。根据需要,我们主要了解将Java对象序列化成JSON字符串的功能。
IT知识分享网
使用FastJSON API
FastJSON API的入口类是com.alibaba.fastjson.JSON,基本上常用的操作都可以通过该类的静态方法直接完成。其中,用于将Java对象序列化成JSON字符串的常用方法如下。
public static String toJSONString(Object object):该方法将java对象序列化成JSON字符串。
public static String toJSONString (Objiect object,boolean prettyFormat):prettyFormat为tru时将产生带格式的JSON字符串;prettyFormat为false,则与toJSONString(Object object)相同。
public static String toJSONString(Object object,SerializerFeature…features):可以通过features参数指定更多序列化规则,常用规则将在下文中介绍。
public static String toJSONStringWithDateFormat(Object object,String dateFormat,SerializerFeature…features):可以通过dareFormat参数指定日期类型的输出格式。
枚举类型SerializerFeature 中定义了多种序列化属性,可以根据需要使用。常用的属性及其说明举例如下。
IT知识分享网QuoteFieldNames:输出JSON的字段名时使用双引号,默认即使用。
WriteMapNullValue:输出值为null的字段,默认不输出。
WriterNullListAsEmpty:将值为null的List字段输出为[]。
WriteNullStringAsEmpty:将值为null的String字段输出为‘’。
WriterNullNumberAsZero:将值为null的数值字段输出为0.
WriteNullBooleanAsFalse:将值为null的Boolean字段输出为false。
SkipTransientField:忽略transient字段,默认即忽略。
PrettyFormat:格式化JSON字符串,默认不格式。
例如,序列化时要包含值为null的字段,且数值为null输出为0,String为null输出为‘’,可以按照如下的方式调用。
String json=JSON.toJSONString(someData,SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullStringAsEmpty);
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12858.html