SpringMVC整合FastJson及简单使用

来源:互联网 发布:unity3d如何播放视频 编辑:程序博客网 时间:2024/06/05 20:54

1.FastJson介绍

     Fastjson是阿里巴巴的一个Java语言编写的高性能功能完善的JSON库。

   

     特性:

  • 在服务器端和android客户端提供最佳性能
  • 提供简单toJSONString()和parseObject()方法的Java对象转换为JSON,反之亦然
  • 允许存在的无法改变的对象转换为从JSON
  • Java泛型的广泛支持
  • 允许自定义表示对象
  • 支持任意复杂的对象(深继承层次结构和广泛使用泛型类型)

     主要特点:

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)

  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

  • 零依赖(没有依赖其它任何类库除了JDK)

  • 支持注解

     以上摘录自:http://blog.csdn.net/vbirdbest/article/details/72472149

     传送门:GitHub上FastJson项目中文wiki

2.springmvc整合FastJson

  1. 在springmvc的xml配置文件中,填入如下配置。
    <mvc:annotation-driven>    <mvc:message-converters>        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"/>          </mvc:message-converters></mvc:annotation-driven>
  2. 通常默认配置已经可以满足大部分使用场景,如果你想对它进行自定义配置的话,你可以添加 FastJsonConfig Bean。
    <mvc:annotation-driven>    <mvc:message-converters>        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">            <property name="fastJsonConfig" ref="fastJsonConfig"/>        </bean>    </mvc:message-converters></mvc:annotation-driven><bean id="fastJsonConfig" class="com.alibaba.fastjson.support.config.FastJsonConfig">    <!--   自定义配置...   --></bean>

3.Fastjson的使用

      Fastjson的对json的解析不是自动的,需要手动调用方法进行转换。

  1. FastJson API

    // 把JSON文本parse为JSONObject或者JSONArray public static final Object parse(String text); // 把JSON文本parse成JSONObject    public static final JSONObject parseObject(String text); // 把JSON文本parse为JavaBean public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse成JSONArray public static final JSONArray parseArray(String text); // 把JSON文本parse成JavaBean集合 public static final <T> List<T> parseArray(String text, Class<T> clazz); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object); // 将JavaBean序列化为带格式的JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean转换为JSONObject或者JSONArraypublic static final Object toJSON(Object javaObject); 

  2. FastJson注解:

             用得最多的就是@JsonField注解,其它的我目前还不知道

             给出示例:

           
      public class Person {            @JSONField(name="name")  //也可以写在getter和setter方法上,网上说写在方法上更符合预期。          private String name;                  @JSONField(name="age")            private String age;                  @JSONField(name="desc")            private String desc; 
         @JSONField(serialize=false) //在序列化的时候就不包含这个字段了。deserialize与之相反         private Long ProjectID





原创粉丝点击