fastjson和jackson序列化的使用案例

简单记录一下一个fastjson框架和jackson进行序列化的使用案例:
原json字符串:
“{“lockCount”:”{1:790,113:1,2:0,211:0,101:1328,118:8,137:0,301:0,302:0}“,“inventoryCount”:”{1:25062,113:2,2:10000,211:2,101:11034,118:9,137:40,301:903914,302:2070}“}”;

序列化代码:


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

  String jsonString = "{\"lockCount\":\"{1:790,113:1,2:0,211:0,101:1328,118:8,137:0,301:0,302:0}\",\"inventoryCount\":\"{1:25062,113:2,2:10000,211:2,101:11034,118:9,137:40,301:903914,302:2070}\"}";

            try {
                Map<String, String> resultMap = JSON.parseObject(jsonString, new TypeReference<Map<String, String>>() {});

                // 获取 lockCount 和 inventoryCount 的值
                String lockCountJson = resultMap.get("lockCount");
                String inventoryCountJson = resultMap.get("inventoryCount");

                // 转换为相应的 Map 对象
                Map<Integer, Integer> lockCountMap = JSON.parseObject(lockCountJson, new TypeReference<Map<Integer, Integer>>() {});
                Map<Integer, Integer> inventoryCountMap = JSON.parseObject(inventoryCountJson, new TypeReference<Map<Integer, Integer>>() {});

                System.out.println("lockCountMap: " + lockCountMap);
                System.out.println("inventoryCountMap: " + inventoryCountMap);
            } catch (Exception e) {
                e.printStackTrace();
            }
        

结果:
在这里插入图片描述

使用Jackson序列化:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;

public class JsonToMapExample {
    public static void main(String[] args) {
        String jsonString = "{\"lockCount\":\"{1:790,113:1,2:0,211:0,101:1328,118:8,137:0,301:0,302:0}\",\"inventoryCount\":\"{1:25062,113:2,2:10000,211:2,101:11034,118:9,137:40,301:903914,302:2070}\"}";

        try {
            ObjectMapper objectMapper = new ObjectMapper();
            TypeReference<Map<String, String>> typeReference = new TypeReference<Map<String, String>>() {};

            Map<String, String> resultMap = objectMapper.readValue(jsonString, typeReference);

            // 获取 lockCount 和 inventoryCount 的值
            String lockCountJson = resultMap.get("lockCount");
            String inventoryCountJson = resultMap.get("inventoryCount");

            // 转换为相应的 Map 对象
            Map<Integer, Integer> lockCountMap = objectMapper.readValue(lockCountJson, new TypeReference<Map<Integer, Integer>>() {});
            Map<Integer, Integer> inventoryCountMap = objectMapper.readValue(inventoryCountJson, new TypeReference<Map<Integer, Integer>>() {});

            System.out.println("lockCountMap: " + lockCountMap);
            System.out.println("inventoryCountMap: " + inventoryCountMap);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

你可能感兴趣的:(java,开发语言)