`

json的工具: jackson的使用

 
阅读更多
package com.rh.util;

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA. User: pandy Date: 13-7-6 Time: 下午5:26 To change
 * this template use File | Settings | File Templates.
 */
public class JSONUtils {

    private static ObjectMapper getObjectMapper() {
        ObjectMapper mapper = new ObjectMapper();
        return mapper;
    }

    public static String bean2str(Object obj) {
        try {
            ObjectMapper mapper = getObjectMapper();
            StringWriter writer = new StringWriter();
            JsonGenerator gen = new JsonFactory().createJsonGenerator(writer);
            mapper.writeValue(gen, obj);
            gen.close();
            String json = writer.toString();
            writer.close();
            return json;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static Object str2bean(String json, Class<?> clazz) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, clazz);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static Object str2list(String json, TypeReference valueTypeRef) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, valueTypeRef);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static Object str2list(String json, Class<?> clazz) {
        try {
            ObjectMapper mapper = getObjectMapper();
            JavaType type = mapper.getTypeFactory().constructCollectionType(ArrayList.class, clazz);

            Object domain = mapper.readValue(json, type);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    // new TypeReference<Map<String,Object>>() { }
    public static Object str2map(String json, TypeReference valueTypeRef) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, valueTypeRef);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static Map<String, Object> str2map(String json) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Map<String, Object> domain = mapper.readValue(json, new TypeReference<Map<String, Object>>() {
            });
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static String list2JsonString(List l) {
        StringWriter sw = new StringWriter();

        try {
            ObjectMapper mapper = getObjectMapper();
            mapper.writeValue(sw, l);

        } catch (Exception e) {
            e.printStackTrace();
        }

        return sw.toString();
    }

    public static Object map2bean(Map map, Class<?> clazz) {

        String json = map2str(map);

        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, clazz);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static String map2str(Map map) {
        StringWriter sw = new StringWriter();

        try {
            ObjectMapper mapper = getObjectMapper();
            mapper.writeValue(sw, map);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return sw.toString();
    }

    public static Map bean2map(Object o){

        String s = bean2str(o);
        Map map = str2map(s);
        return map;
    }

}

分享到:
评论

相关推荐

    json转换工具jackson

    本文将深入探讨Jackson作为JSON转换工具的关键知识点,并基于提供的博文链接进行补充。 1. **Jackson库介绍** Jackson是一个开源项目,其核心库为`com.fasterxml.jackson.core`,包括`jackson-databind`、`jackson...

    play-json4s-jackson_2.11-0.3.0.zip

    3. **Jackson**:Jackson 是一个广泛使用的 Java JSON 处理库,提供了高效且灵活的 JSON 解析和生成功能,包括对象映射(Object Mapping)功能,使得 Java 对象可以直接转换为 JSON 和反向转换。 4. **SLF4J**:SLF...

    最好用的Json工具.exe

    "最好用的Json工具.exe",根据标题可以推断,这是一个用于处理JSON数据的桌面应用程序,名为Hijson。这类工具的主要功能通常包括JSON的解析、格式化、验证以及可能的转换。Hijson能够帮助开发者高效地处理JSON字符串...

    解析json的jar包:jackson-core2.9.9、jackson-annotations2.9.9、jackson-databind2.9.9

    在Java中,Jackson库是处理JSON的主要工具之一,它提供了高效且灵活的API来序列化和反序列化JSON。在这个压缩包中,我们有三个关键的Jackson库版本2.9.9,它们分别是: 1. **jackson-core**: 这是Jackson框架的基础...

    json jackson 工具类

    2. **JSON对象到字符串的转换**:使用`ObjectMapper.writeValueAsString(Object obj)`方法,可以将任何Java对象转换为JSON字符串。 3. **简单对象的序列化和反序列化**:对于简单的Java类,如POJO(Plain Old Java ...

    Json 数据格式化 jackson

    总之,Jackson库是Java中处理JSON的强大工具,提供了丰富的功能和灵活性,无论是简单的对象转换还是复杂的序列化配置,都能轻松应对。通过熟练掌握Jackson,开发者可以在JSON数据交换中大大提高效率和代码质量。

    json工具包

    "json工具包"可能指的是像Jackson、Gson、org.json等流行的JSON库。这些工具包提供了方便的方法来解析JSON字符串为Java对象,以及将Java对象序列化为JSON字符串。 1. **Jackson**:Jackson是Java最常用的JSON库之一...

    json解析利器-jackson

    总之,Jackson是Java开发中处理JSON不可或缺的工具,无论是在简单的数据交换还是复杂的序列化场景下,都能展现出强大的功能。学习并熟练掌握Jackson,对于提升开发效率和代码质量具有重要意义。

    jackson依赖jar包.

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的各种工具,包括序列化和反序列化。在Java应用程序中,Jackson库是一个不可或缺的部分,特别是对于那些...

    jackson-module-jsonSchema:用于从POJO生成JSON模式(v3)定义的模块

    鼓励用户使用更多最新的JSON Schema支持工具。用法示例(来自 ) 只需添加一个依赖项(这是从我的gradle配置中获取的) "com.fasterxml.jackson.module:jackson-module-jsonSchema:2.9.0" ,至少对于gradl

    jackson 对象json字符串数组集合互转

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来实现JSON与Java对象之间的转换。在标题“Jackson对象json字符串数组集合互转”中,提到的核心概念是Jackson如何处理JSON字符串与Java集合...

    jackson-module-jsonSchema-2.6.5.zip

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反...通过深入理解Jackson和JSON Schema,你可以在构建RESTful API或Web服务时充分利用这些工具,实现高质量的数据交换。

    Jackson 框架,轻易转换JSON(转)

    Jackson框架是Java开发中用于处理JSON数据的强大工具,由FasterXML公司开发并维护。它提供了高效的序列化和反序列化功能,使得JSON与Java对象之间的转换变得轻而易举。在本文中,我们将深入探讨Jackson框架的核心...

    Jackson 框架,轻易转换JSON

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。Jackson框架的主要目标是简化JSON与Java对象之间的交互,使得开发者能够轻松地在Java应用中处理...

    Jackson将json string转为Object,org.json读取json数组的实例

    总结以上知识点,可以知道在Java中处理JSON数据时,Jackson库和org.json库是非常有用的工具。使用ObjectMapper可以轻松地将JSON数据转换为Java对象,而org.json库的JSONArray和JSONObject类则提供了处理JSON数组和...

    jackson(Java JSON工具库)(3 in 1)

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、灵活且功能丰富的API,使得在Java应用中解析、生成、操作JSON数据变得简单易行。Jackson分为三个主要模块:core、annotations...

    最新的高性能 JSON 处理jackson-2.9.2.jar下载

    Jackson是Java领域中广泛使用...总的来说,Jackson-2.9.2是一个强大且高效的JSON处理库,它为Java开发者提供了丰富的工具和选项来处理JSON数据,无论是在简单的数据交换还是在复杂的应用场景中,都能展现出强大的威力。

    json工具jar包下载

    使用这些JSON工具jar包,开发者可以轻松地进行以下操作: - JSON解析:将接收到的JSON字符串转换为Java对象,如Map、List或者其他自定义对象。 - JSON生成:将Java对象转换为JSON字符串,便于在网络中传输或存储。 ...

    Java json工具类,jackson工具类,ObjectMapper工具类

    总结来说,`Java json工具类`如`Jackson`和`ObjectMapper`,以及开发者自定义的`JacksonUtils`工具类,是Java开发中处理JSON数据的关键工具。它们能够方便地将Java对象和JSON格式数据互相转换,同时提供了一系列高级...

    基于java的高性能的JSON处理 Jackson.zip

    1. **忽略未知属性**:使用`@JsonIgnoreProperties(ignoreUnknown = true)`防止因JSON中存在Java对象未定义的属性而抛出异常。 2. **自定义序列化与反序列化**:通过实现`JsonSerializer`和`JsonDeserializer`接口,...

Global site tag (gtag.js) - Google Analytics