fastjson常用API

maven中的依赖

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

<!-- android版本 -->
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.1.55.android</version>
</dependency>

fastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,和parseObject。

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

// 把JSON文本parse为JSONObject或者JSONArray 
public static final Object parse(String text);

// 把JSON文本parse成JSONObject    
public static final JSONObject parseObject(String text);

// 把JSON文本parse为JavaBean 
public static final <T> T parseObject(String text, Class<T> clazz);

// 把JSON文本parse成JSONArray 
public static final JSONArray parseArray(String text);

//把JSON文本parse成JavaBean集合 
public static final <T> List<T> parseArray(String text, Class<T> clazz);

// 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object);

// 将JavaBean序列化为带格式的JSON文本
public static final String toJSONString(Object object, boolean prettyFormat);  

// 将JavaBean转换为JSONObject或者JSONArray。单个bean对象能转,list集合也能转,有了这一步,再来个toString就ok了。
public static final Object toJSON(Object javaObject);

Map<String, Object> map = new HashMap<>();
        map.put("aaaa", 1111);
        map.put("bbbb", 2222);
        map.put("cccc", 3333);
        System.out.println(map.toString());
        
        // map转换成JSONObject
        JSONObject jo = (JSONObject) JSONObject.toJSON(map);
        System.out.println(jo.getString("aaaa"));
        
        // map转换成jsonString
        String jsonString = JSONObject.toJSONString(map);
        System.out.println(jsonString);
        
        String str = "{\"name\": \"adsfasfsd\"}";
        // String转换成JSONObject
        JSONObject parse = JSONObject.parseObject(str);
        System.out.println(parse.getString("name"));
        
        // String转换成javaBean
        User user = JSONObject.parseObject(str, User.class);
        Map map2 = JSONObject.parseObject(str, Map.class);
        System.out.println(user);
        System.out.println(map2); 

{aaaa=1111, bbbb=2222, cccc=3333}
1111
{"aaaa":1111,"bbbb":2222,"cccc":3333}
adsfasfsd
adsfasfsd
{name=adsfasfsd} 

fastjson如何处理日期

fastjson处理日期的API很简单,例如:

JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS")

使用ISO-8601日期格式

JSON.toJSONString(obj, SerializerFeature.UseISO8601DateFormat);

全局修改日期格式

JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);

反序列化能够自动识别如下日期格式:

ISO-8601日期格式
yyyy-MM-dd
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm:ss.SSS
毫秒数字
毫秒数字字符串
.NET JSON日期格式
new Date(198293238)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值