json处理 之 fastJson一些使用总结

springboot中需要导入依赖 :

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

fastjson
FastJson是用于java后台处理json格式数据的一个工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:

(1)速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。
(2)功能强大,完全支持java bean、集合、Map、日期、Enum,支持范型,支持自省。
(3)无依赖,能够直接运行在Java SE 5.0以上版本

FastJson对于json格式字符串的解析主要用到了一下三个类:

(1)JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。
(2)JSONObject:fastJson提供的json对象。
(3)JSONArray:fastJson提供json数组对象。

一些个人的使用

//自己构造JSON数据
 JSONObject jsonObject = new JSONObject();
 jsonObject .put("XX",xxx);
 jsonObject .get("XX");
//将实体类转换为JSON数据
 Student student = new Student(1,"李三",17);
 String s = JSON.toJSONString(stdent);
 //json 数据转化为json对象
  JSONObject jsonObject = JSON.parseObject(s)
   jsonObject .get("id");
   jsonObject .get("username");
   jsonObject .get("age")
 //json 数据转化为实体类
  Student student = JSON.parseObject(s, Student .class);
 

注意: JSONObject 底层默认使用的是hashmap 所以输出是按key的ASCII码排序来的和插入顺序无关 如果对顺序由需求的话可以使用linkedHashMap


即定义JSONObject可以这样:JSONObject jsonObj = new JSONObject(new LinkedHashMap());

或者 JSONObject jsonObj = new JSONObject(true);

查看源码就能够明白

    private static final long         serialVersionUID         = 1L;
    private static final int          DEFAULT_INITIAL_CAPACITY = 16;

    private final Map<String, Object> map;

    public JSONObject(){
        this(DEFAULT_INITIAL_CAPACITY, false);
    }

    public JSONObject(Map<String, Object> map){
        this.map = map;
    }

    public JSONObject(boolean ordered){
        this(DEFAULT_INITIAL_CAPACITY, ordered);
    }

    public JSONObject(int initialCapacity){
        this(initialCapacity, false);
    }

    public JSONObject(int initialCapacity, boolean ordered){
        if (ordered) {
            map = new LinkedHashMap<String, Object>(initialCapacity);
        } else {
            map = new HashMap<String, Object>(initialCapacity);
        }
    }


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值