fastjson 常用 操作

1,230 阅读2分钟

fastjson 常见 使用方式 特点:快速,高效

1 String -> List

形式1:

String[] strArray = {"aa","bb","cc"};

方法1:此方法底层仍然是数组,不可以使用List的相关方法,否则报错

List<String> list = Arrays.asList(strArray);

方法2:此方法可以继续使用List的相关操作

List<String> list = new ArrayList<>();
Collections.addAll(list,strArray);

形式2:

String strArray = "\"aa\",\"bb\",\"cc\"";
//String strArray = aa,bb,cc

将以上转为数组,再转为List即可

if (strArray != null){
    String[] split = strArray.split(",");
}

2 List -> String

形式1:

List<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");

方法1:

String str = list.toString(); //结果为:[aa, bb, cc]

方法2:去除List元素之间的空格

String str = list.toString().replaceAll(" ",""); //结果为:[aa,bb,cc]

3 String -> Map

形式1:

String jsonObjectStr = "{\"name\":\"wangyifei\"}";
JSONObject jsonObject = JSONObject.parseObject(jsonObjectStr);

4 Map -> String

Map<String,Object> map = new HashMap<>();
map.put("name","wangyifei");
String mapStr = JSON.toJSONString(map);

5 String -> JSONObject

String jsonObjectStr = "{\"name\":\"wangyifei\"}";
JSONObject jsonObject = JSONObject.parseObject(jsonObjectStr);

6 JSONObject -> String

JSONObject jsonObject = new JSONObject();
jsonObject.put("name","wangyifei");
String jsonObjectStr = JSON.toJSONString(jsonObject);

7 String -> JSONArray

String jsonArrayStr = "[{\"name\":\"wangyifei\"},{\"age\":24}]";
JSONArray jsonArray = JSONArray.parseArray(jsonArrayStr);

8 Map -> JSONObject

Map<String,Object> map = new HashMap<>();
map.put("name","wangyifei");
JSONObject jsonObject = new JSONObject(map);

9 JSONObject -> Map

JSONObject jsonObject = new JSONObject();
jsonObject.put("name","wangyifei");
Map<String,Object> map = (Map)jsonObject;

10 List -> JSONArray

List<String> list = new ArrayList<>();
list.add("name");
list.add("wangyifei");
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));

11 JSONArray -> List

JSONArray array = new JSONArray();
List<User> list = JSONObject.parseArray(array.toJSONString(), User.class);

12 jsonString -> JavaBean

String jsonString = "{\"id\":\"110\",\"name\":\"wangyifei\"}";
User user = JSON.parseObject(jsonString,User.class);

13 jsonString -> JSONArray -> List《JavaBean》

String jsonStr = "{\"java\":[{id:\"111\",name:\"wangyitong\"},{id:\"222\",name:\"wangyifei\"},{id:\"333\",name:\"wangyiming\"}]}";
JSONObject jsonObject = JSON.parseObject(jsonStr);
JSONArray jsonArray = jsonObject.getJSONArray("java");
List<User> list = JSON.parseArray(jsonArray.toString(),User.class);

这里User是一个类:

public class User {
    private String id;
    private String name;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

14 Object -> Map

Object obj = new Object();
Map map = (Map)obj;

15 Object -> JSONObject

Object obj = new Object();
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(obj));

注意,当使用fastjson转换时,如果参数为null,不会报错,对应的结果也为null

16 List -> Array

List<String> list = new ArrayList<>();
String[] array = list.toArray(new String[list.size()]);

17 Array -> List

推荐:

String[] array = new String[]{"wang","yifei"};
List<String> list = new ArrayList<String>(Arrays.asList(array));

List<String> list = new ArrayList<String>(array.length);
Collections.addAll(list, array);