Home > Java > javaTutorial > What are the processing methods of Json in Java?

What are the processing methods of Json in Java?

PHPz
Release: 2023-05-16 18:10:06
forward
2574 people have browsed it

    Various processing of Java Json

    1. net.sf.json

    1. Json to Map

    JSONObject jsonObject = JSONObject.fromObject(jsonStr);
    Map<String,Object> map = new HashMap<>();
    map.put("code",jsonObject .getInt("code"));
    Copy after login

    2. Convert Json to entity

    JSONObject jsonObject = JSONObject.fromObject(jsonStr);
    ArticleForm articleForm = (ArticleForm) JSONObject.toBean(jsonObject , ArticleForm.class);
    Copy after login

    If the entity has a List field, you need to specify the generic type

    Map<String, Class> classMap = new HashMap<String, Class>();
    classMap.put("keywords", String.class);
    ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);
    Copy after login

    3. Convert Json to collection

    List<ArticleForm> list = new ArrayList<>();
    JSONArray data = jsonObject.getJSONArray("data");
    if (errorCode == 0 && data != null && !data.isEmpty()) {
        for (int i = 0; i < data.size(); i++) {
            Map<String, Class> classMap = new HashMap<String, Class>();
            classMap.put("keywords", String.class);
            ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);
            list.add(articleForm);
        }
    }
    Copy after login

    Another one:

    List<ArticleForm> list = new ArrayList<>();
    JSONArray data = jsonObject.getJSONArray("data");
    if (errorCode == 0 && data != null && !data.isEmpty()) {
        Map<String, Class> classMap = new HashMap<String, Class>();
        classMap.put("keywords", String.class);
        list  = (List<ArticleForm>) JSONArray.toArray(data, ArticleForm.class,classMap);
    }
    Copy after login

    2. com.alibaba.fastjson

    1. Convert Json to Map

    JSONObject jsonObject = JSON.parseObject(jsonStr);
    Map<String,Object> map = new HashMap<>();
    map.put("code",jsonObject .getInt("code"));
    Copy after login

    2. Convert Json to entity

    ArticleForm articleForm = JSON.parseObject(jsonStr, new TypeReference<ArticleForm>() {});
    Copy after login

    3. Convert Json to collection

    List<ArticleForm> list = JSON.parseObject(jsonStr,new TypeReference<ArrayList<ArticleForm>>() {});
    Copy after login

    Java commonly used json processing

    // String和json的互相转换
            String str = "{\"status\":200,\"message\":\"\",\"data\":{\"KmList\":[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]}}";
            System.out.println("str:"+str);
    //        JSONArray arrays = JSON.parseArray(str);        // string转jsonArray
            JSONObject jsonObject = JSON.parseObject(str);    // string转jsonObject
            System.out.println("jsonObject:"+jsonObject);
            String s = jsonObject.toJSONString();             // json(object和Array相同)转string
      
            // json转list<Object>或者object
            String str1 = "[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]";
            List<String> list = JSON.parseArray(str1, String.class); // json转list集合,将String.class改成其他对象.class即可
            System.out.println("list:"+JSON.toJSONString(list));
            String s1 = JSON.parseObject(JSON.toJSONString("语文"), String.class);       // json转对象,将String.class改成其他对象.class即可
            System.out.println("s1:"+s1);
            // object转字符串后即可转jsonObject或者jsonArray
     
            // json和map
            Map<String, Object> map = new HashMap<>();
            map.put("xAxis","11");
            map.put("yAxis","2222");
            String json = JSON.toJSONString(map);//map转String
            System.out.println("json:"+json);
            Map<String, Object>  map1 = JSON.parseObject(json, Map.class);     // 转List<Map> parserArray即可
            System.out.println("map1:"+map1);
    Copy after login

    The above is the detailed content of What are the processing methods of Json in Java?. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template