• fastJson


    fastjson

    alibaba fastjson是阿里巴巴公司开源维护的一个处理json格式数据的java工具库。

    功能特性:

    • 数据绑定databind (json string <--> java object, JSON <--> java object)
    • 保持单一对象。序列化时相同的java对象引用只会在一个地方序列化一次,另外的引用地方以特殊的引用表述,反序列化后保证了与序列化之前单一java对象的数据引用视图。
    • json中基本类型(数字、字符串、布尔等标量)的容器有两种,对象和数组,在fastjson中分别对应类JSONObjectJSONArray,他们有共同父类JSON。json对象是键值对集合,相应的JSONObject蕴含键值对集,实现了接口Map<String,Object>;json数组是元集合,相应的JSONArray实现了接口List<Object>

      JSON类中还包含各种JSON, java ObjectString之间的相互转换工具函数。

      • JSON.toJSONString(Object,SerializeConfig=SerializeConfig.globalInstance,...)函数的功能是将java对象序列化为json字符串。SerializeConfig参数是关于序列化的配置,默认使用全局共享实例SerializeConfig.globalInstance。SerializeConfig可通过.config(Class<?> clazz, SerializerFeature feature, boolean value)为给定类打开/关闭多种序列化特性,所有特性在枚举SerializerFeature中。对于java bean(或所有将转换为json字符串的java对象),配置特性WriteMapNullValue可控制null值字段是否需要序列化出。

      • JSON.toJSON(Object,SerializeConfig=SerializeConfig.globalInstance)将java bean对象转换为JSONObject(Map对象)。需要注意的是,尽管该函数接受SerializeConfig,且不论WriteMapNullValue特性是否关闭,转换出的JSONObject对象都会包含java bean的null值字段,也就说SerializeConfig的WriteMapNullValue特性对于转换为JSONObject无用,但对于转换为字符串管用,同时在观察转为JSON.toJSON中SerializeConfig的WriteMapNullValue特性是否有用时需注意不能以System.out.println(JSONObject)打印输出来观察,因为其输出已调用JSONObject.toString将JSONObject对象转为了json字符串,转换为json string的过程涉及了WriteMapNullValue特性。

      各jvm序列化器(包含数个json库)性能对比结果见 https://github.com/eishay/jvm-serializers/wiki 。

  • 相关阅读:
    js倒计时
    web前端基本开发手册
    快速了解CSS3当中的HSLA 颜色值怎么算
    IDEA快捷键
    3 认识的本质及其规律
    2 世界的物质性及其发展规律
    1 绪论
    9 数据库连接池
    8 代码实现事务
    7 IDEA连接数据库
  • 原文地址:https://www.cnblogs.com/luoyetl/p/11088895.html
Copyright © 2020-2023  润新知