一、JSON字符串转Map

在平时的java开发中,我们可能会遇到调用第三方的接口,返回的是JSON字符串,下面是实现JSON字符串转换为Map<String, Object>

    private static final ObjectMapper objectMapper = new ObjectMapper();
 
   /**
     * json转map
     *
     * @param json json数据
     * @return map
     */
    public static Map<String, Object> jsonToMap(String json) throws AcpsBusinessException {
        Map<String, Object> map = null;
        try {
            map = objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {
            });
        } catch (Exception e) {
            e.printStackTrace();
            throw new AcpsBusinessException("json.parse.exception", json);
        }
        return map;
    }

二、JSON字符串转Object

在平时的java开发中,我们可能会遇到调用第三方的接口,返回的是JSON字符串,下面是实现JSON字符串转换为Object


 private static final ObjectMapper objectMapper = new ObjectMapper();
    /**
     * json字符串转换为对象
     *
     * @param str       字符串
     * @param valueType 对象类型
     * @param <T>       类型
     * @return 对象
     */
    public static <T> T parse(String str, Class<T> valueType) throws AcpsBusinessException {
        try {
            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            return objectMapper.readValue(str, valueType);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("json格式不正确:" + str);
            throw new AcpsBusinessException("json.parse.exception", "json格式不正确");
        }
    }

三、JSON字符串转List

在平时的java开发中,我们可能会遇到调用第三方的接口,返回的是JSON字符串,下面是实现JSON字符串转换为List

    private static final ObjectMapper objectMapper = new ObjectMapper();
    /**
     * json转list
     *
     * @param <T>      类型
     * @param json     json数据
     * @param beanType 转换的实体类型
     * @return list
     */
    public static <T> List<T> jsonToList(String json, Class<T> beanType) throws AcpsBusinessException {
        List<T> list = null;
        try {
            JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, beanType);
            list = objectMapper.readValue(json, javaType);
        } catch (Exception e) {
            e.printStackTrace();
            throw new AcpsBusinessException("json.parse.exception", json);
        }
        return list;
    }
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 天前 )
960b763e 2 个月前
8c391e04 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐