• FastJson的简单使用


    FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能。

    实际上其他的json处理工具都和它差不多,api也有几分相似。

    一、JSON规范

    JSON是一个标准规范,用于数据交互,规范的中文文档如下:

    http://www.json.org/json-zh.html

    参看规范,来对比JSON类库处理结果。

    二、fastjson的一些简要说明

    1、了解fastjson

    Fastjson介绍

    Fastjson是一个Java语言编写的JSON处理器。

    1、遵循http://json.org标准,为其官方网站收录的参考实现之一。

    2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。

    3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。

    4.开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home

    如果获得Fastjson?

    SVN:http://code.alibabatech.com/svn/fastjson/trunk/

    WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home

    Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON

    2、主要的使用入口

    maven的dependency

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

    Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

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

    3、有关类库的一些说明

    SerializeWriter:相当于StringBuffer

    JSONArray:相当于List<Object>

    JSONObject:相当于Map<String, Object>

    JSON反序列化没有真正数组,本质类型都是List<Object>

    4、fastjson还有很多很高级的特性,比如支持注解、支持全类型序列化,这些都是很好的特性,功能强大,不在本次测试范围。

    5.主要的一些方法(JSON、JSONObject)

    //个人常用的方法
    
    JSON.toJSONString(Object o);
    JSON.toJSON(Object o);
    ...
    
    //使用这样的转化可以减少报错
    RiskReport riskReport = JSONObject.parseObject(tdReportDetails.getReportDetail(),RiskReport.class);
    Map map = JSONObject.parseObject(json);
    ...

    其他的用法:

    http://zyjustin9.iteye.com/blog/2020533

  • 相关阅读:
    element UI input 框不能输入问题
    微信小程序 自定义header 组件
    React 父组件调用子组件函数
    node 分页查询时,如何获取总数和分页数据
    Linux 根据jar包名杀死进程
    使用小乌龟TortiseGit生成密钥教程详解
    SQL/变量
    SQL/视图
    SQL/事务控制语言TCL(Transaction Control Language)
    SQL/数据定义语言DDL(Data Definition Language)
  • 原文地址:https://www.cnblogs.com/itommy/p/10610378.html
Copyright © 2020-2023  润新知