FastJson的简单使用

本文主要参考了http://blog.csdn.net/zgzczzw/article/details/72330190
http://blog.csdn.net/wx_962464/article/details/37612861
JSON数据:{}保存对象,[]保存数组(例:[{"":"","":""},{……}] )

  • 使用FastJSON的几个注意点
    1,默认构造方法不能省略
    2,get,set方法要齐全
    3,不建议子类重写父类的成员变量
    4,混淆的时候要注意

  • 添加依赖
    compile 'com.alibaba:fastjson:1.2.45'
    版本在此处查看http://mvnrepository.com/artifact/com.alibaba/fastjson

  • 序列化
    String jsonString=JSON.toJSONString(object);
    参数可以只是单个的对象,或者是对象的List,List里也可以包含List(转完之后会是这个样子:
[{"id":"001","name":"Li","Students":[{"age":"18","stu":"001"},{"age":"17","stu":"002"}]},{"id":"002",……}]

转成标准格式(会分行的那种)
JSON.toJSONString(object,true);


  • 反序列化
    Class object=JSON.parseObject(jsonString,Class.class);

  • 泛型反序列化
    List list=JSON.parseObject(jsonString,new TypeReference>(){});

  • parseArray
    下例是返回的数据中有一项是数组的情况
    JSONObject jsonObject=new JSONObject(jsonString);
    JSONArray jsonArray=jsonObject.getArray("name");
    List list=JSON.parseArray(jsonArray.toString(),Class.class);

  • 指定解析的字段
    1,可使用transient关键字标记不需要解析的字段
    2,
    SimplePropertyPreFilter filter=new SimplePropertyPreFilter(Class.class,"要解析的字段1","要解析的字段2");
                        //若实体类中没有该字段,则直接不解析,不会报错的
    String jsonStr=JSON.toJSONString(object,filter);
    

你可能感兴趣的:(FastJson的简单使用)