• fastJson使用


    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,由阿里巴巴的工程师开发。

    主要特点:

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

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

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

    maven引用:

      <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.23</version>
            </dependency>

    github地址:

      https://github.com/alibaba/fastjson

    测试代码:普通转换json对象,格式化日期,序列化,反序列化

    /**
    * @ClassName: FastJson
    * @date 2017年1月4日 上午9:37:04
    */
    public class FastJson {
        public static void main(String[] args) {
            System.out.println("renwohua");
            test1();
            test2();
            test3();
            test4();
        }
        
        
    /**对象的JSON序列化*/
    public static void test1(){
        UserInfo userInfo=new UserInfo();
        userInfo.setAge(25);
        userInfo.setName("Bill");
        userInfo.setDate(new Date());
        //将对象转换为JSON字符串
        String strJson=JSON.toJSONString(userInfo);
        System.out.println("JSON="+strJson);
    }

        
    /**对象反序列化*/
    public static void test2(){
     String json="{"name":"chenggang","age":24,"date":1483494081855}";
     //反序列化
     UserInfo userInfo=JSON.parseObject(json,UserInfo.class);
     System.out.println("name:"+userInfo.getName()+", age:"+userInfo.getAge());
     //输出毫秒值
     System.out.println(JSON.toJSONString(userInfo.getDate(), SerializerFeature.WriteDateUseDateFormat));
    }



    /**泛型的反序列化*/
    public static void test3(){
      String json="{"user":{"name":"zhangsan","age":25}}";
      Map<String, UserInfo> map = JSON.parseObject(json, new TypeReference<Map<String, UserInfo>>(){});
      System.out.println(map.get("user"));
     }


    /**格式化日期**/
    public static void test4(){
          Date date=new Date();  
          //输出毫秒值
          System.out.println(JSON.toJSONString(date));
          //默认格式为yyyy-MM-dd HH:mm:ss  
          System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));
          //根据自定义格式输出日期
          System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat));
        }
    }




    class UserInfo implements Serializable{
         private String name;
         private int age;
         private Date date;
         public void setName(String name){
          this.name=name;
         }
         public String getName(){
          return name;
         }
        
         public void setAge(int age){
          this.age=age;
         }
         public int getAge(){
          return age;
         }
        public Date getDate() {
            return date;
        }
        public void setDate(Date date) {
            this.date = date;
        }
    }

  • 相关阅读:
    gzip是一种数据格式,deflate是一种压缩算法
    js 实现图片上传 续
    iframe 元素会创建包含另外一个文档的内联框架(即行内框架)
    HTTPS简介----
    回归测试
    HTTP 返回码 400
    js 实现 一张图片的上传
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/laotan/p/6247485.html
Copyright © 2020-2023  润新知