fastjson中的一些常用方法推荐

1,183 阅读2分钟

这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

写在前面

我们在日常开发中经常要对字符串进行转成集合或者是对象,或者是相关对象或者集合转成一个Json字符串等等的需求。

一般我们都会使用阿里巴巴开源的一款组件,那就是fastjson,虽然在去年1.2.7版本之前爆出了一些安全问题,但是这也避免不了很多开发人员对其的热爱。

今天我们就一起来学习一下这几种情况是如何来解决的,跟大家分享一下相关知识。

Fastjson常用方法

将Map转为Json字符串

这个需求我们需要使用到fastjson中的JSONObject类,利用其内部的toJSONString方法,利用这个方法可以将Map转成相应的字符串,可以参考下面的代码,以及运行结果:

代码示例:

public static void main(String[] args) {
    Map<String,String> map = new HashMap<>();
    map.put("1","1");
    String json = JSONObject.toJSONString(map);
    System.out.println(json);
}

运行结果:

{"1":"1"}

image.png

将List转为json字符串

这个和Map转字符串是一样的,都是利用JSONObject.toJSONString(Object obj)方法来进行转换,我就不在这里过多阐述了。

String json = JSONObject.toJSONString(map);

JSONObject的toJSONString方法

如果你在JsonObject类中搜索不到toJsonString方法,那么不要惊慌,其实是因为这个toJsonString方法不是JsonObject类独有的,而是继承的JSON.java类得来的,如果要去搜索的话,应该去JSON类下面去搜索。

JSON字符串转为Map集合对象

就是要来回转,没办法,有的时候需求就是这样,翻来覆去的转,不过没关系,我们早就有相关的解决方案了,来看看吧。

public static void main(String[] args) {
    String json = "{"1":"1"}";
    Map map = JSON.parseObject(json, Map.class);
}

JSON字符串转为List对象

这个就不用说了吧,直接给一行代码,自己体会。

List list = JSON.parseObject(json, List.class);

JSON字符串转为实体类对象

这个也会机会用到的,大家还是看一下。

User user = JSON.parseObject(json, User.class);