详情代码:
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jacksonPrograme</groupId> <artifactId>jacksonPrograme</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> <packaging>jar</packaging> </project>
JsonUtil.json
package com.bugyun.test; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import org.codehaus.jackson.JsonGenerator; import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.JsonProcessingException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.JsonSerializer; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.SerializerProvider; import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion; import org.codehaus.jackson.type.JavaType; public class JsonUtil { private final static Logger log = Logger.getLogger(JsonUtil.class); private static final ObjectMapper mapper = new ObjectMapper(); static { mapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeString(""); } }); mapper.configure(org.codehaus.jackson.map.DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.setSerializationInclusion(Inclusion.NON_NULL); mapper.setSerializationInclusion(Inclusion.NON_EMPTY); mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); } /** * @description: json字符串转换成java对象 * @param json * @param clzss * @return T * @throws * @author beyond * @data:2016年2月26日上午11:00:03 */ public static <T> T jsonToObject(String json, Class<T> clzss) { T obj = null; try { obj = mapper.readValue(json, clzss); } catch (IOException e) { e.printStackTrace(); } return obj; } /** * @description: 获取泛型的Collection Type * @param collectionClass 泛型的Collection * @param elementClasses 元素类 * @return JavaType * @throws * @author beyond * @data:2016年2月26日上午11:00:30 */ public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) { ObjectMapper mapper = new ObjectMapper(); return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses); } public static void main(String[] args) { String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}," + "{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]"; try { ObjectMapper mapper = new ObjectMapper(); JavaType javaType = JsonUtil.getCollectionType(ArrayList.class, Map.class); List<Map<String,Object>> list = (List<Map<String,Object>>)mapper.readValue(json, javaType); for(Map<String,Object> map : list){ System.out.println(map); } } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
NULL 博文链接:https://bugyun.iteye.com/blog/2278997
总结来说,Jackson框架为处理各种JSON数据提供了强大而灵活的工具,无论是简单的Bean,还是复杂的数据结构如`List<Bean>`、`Map, Bean>`或`List, Bean>>`,都能轻松应对。通过深入理解并熟练运用Jackson,开发者可以...
在 Java 中,我们可以使用各种库和框架来将 JSON 转换为 List。其中,常用的库包括 Jackson、Gson 和 Fastjson 等。下面,我们将使用 Jackson 库来将 JSON 转换为 List。 首先,我们需要添加 Jackson 库的依赖项到...
4. 将List转换为JSON字符串: 使用Jackson的ObjectMapper进行转换: ```java ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writeValueAsString(userList); ``` 接下来,我们看看...
1. **`com.fasterxml.jackson.databind.ObjectMapper`**:这是Jackson的核心类,负责对象到JSON以及JSON到对象的转换。通过`ObjectMapper`,我们可以轻松地将Java对象序列化为JSON字符串,或者将JSON字符串反序列...
在Spring框架中集成Jackson,可以实现高效且灵活的JSON数据交互。 一、Jackson简介 Jackson是Java中的一个开源库,由 FasterXML 维护,主要用于处理JSON数据。它提供了多种模块,如`core`、`mapper`、`annotations`...
在"struts2框架json传递后台数据到echarts"的场景中,主要涉及以下几个关键技术点: 1. **Struts2 Action与Result**:首先,你需要定义一个Struts2 Action,这是处理用户请求的核心组件。Action类通常包含一个或多...
5. JSON转换为Java对象:相反,`JSONObject.toBean()`或`JSONArray.toList()`方法可以将JSON数据转换回Java对象。这对于从服务器接收JSON响应并将其解析为Java对象非常有用。 6. XML与JSON的转换:JSON-lib还包含...
1. `jackson-databind-2.7.0.jar`: 这是Jackson的主要模块,提供了对象映射功能,使得Java对象可以被转换为JSON格式,反之亦然。 2. `jackson-core-2.7.0.jar`: Jackson的核心模块,包含了基本的JSON解析和生成功能...
- `ezmorph-1.0.6.jar`:提供对象转型工具,帮助进行非标准类型到标准类型的转换,对于JSON的复杂数据类型转换很有用。 4. **转换过程**: - 对于一个Java对象,例如一个User类的实例,首先需要确保该类的属性都...
- **处理复杂类型**:Jackson支持Java集合(List、Set、Map)以及自定义的复杂类型,甚至包括泛型。 - **注解控制序列化和反序列化**:通过`@JsonProperty`、`@JsonIgnore`、`@JsonInclude`、`@JsonFormat`等注解,...
将List转换为JSON的过程通常涉及到两个主要步骤:创建JSON对象和将List对象序列化为JSON字符串。 在给定的`ListDtoToJson.java`文件中,我们可能会看到一个示例,展示了如何通过反射机制来实现这一转换。通常,我们...
"json所需最小jar包"可能指的是为了实现List到JSON转换而需要的最小依赖集合,这可能仅包含一个库(如org.json或Jackson的轻量级版本)。 对于标签“源码”,博客可能还包含了自定义处理JSON转换的代码示例,帮助...
例如,你可以使用`ObjectMapper`类进行对象到JSON和JSON到对象的映射,支持各种复杂的对象结构,包括嵌套对象、集合和自定义类型。 2. **jackson-core-2.9.2.jar**:这是Jackson库的基础模块,提供了基本的JSON读写...
4. **JSON到Map/List转换**: - `json-lib`库提供了将JSON字符串解析为Java对象的功能。`JSONSerializer.toBean()`方法可以将JSON字符串转换为Map或List对象。例如,`JSONSerializer.toJSON(jsonStr)`会返回一个...
Jackson-datatype-json-org-2.7.3.zip是一个针对Jackson框架的扩展,特别是针对org类型的JSON数据类型支持。此版本为2.7.3,说明它在发布时是最新的稳定版本之一。 Jackson的可扩展性体现在其支持多种数据类型,...
本文将主要以Fastjson为例,详细介绍如何将一个自定义类型的List转换为JSON字符串。 首先,我们需要引入Fastjson的依赖。如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
`json-lib`是一个Java语言实现的JSON处理器,它提供了多种Java集合和JSON之间的转换方式,包括List、Map、Array等。 本主题主要关注`json-lib`在Java中的应用及其依赖的类库。`json-lib`并不是一个独立的库,它需要...