jackson怎么将list转为json字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jackson怎么将list转为json字符串相关的知识,希望对你有一定的参考价值。
参考技术A Jackson处理一般的JavaBean和Json之间的转换只要使用ObjectMapper 对象的readValue和writeValueAsString两个方法就能实现。但是如果要转换复杂类型Collection如 List<YourBean>,那么就需要先反序列化复杂类型 为泛型的Collection Type。如果是ArrayList<YourBean>那么使用ObjectMapper 的getTypeFactory().constructParametricType(collectionClass, elementClasses);
如果是HashMap<String,YourBean>那么 ObjectMapper 的getTypeFactory().constructParametricType(HashMap.class,String.class, YourBean.class);
public final ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws Exception
JavaType javaType = getCollectionType(ArrayList.class, YourBean.class);
List<YourBean> lst = (List<YourBean>)mapper.readValue(jsonString, javaType);
/**
* 获取泛型的Collection Type
* @param collectionClass 泛型的Collection
* @param elementClasses 元素类
* @return JavaType Java类型
* @since 1.0
*/
public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses)
return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);
本回答被提问者采纳
jackson 怎么把json转为map
参考技术A package com.test;import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
/**
* @author Administrator
*
*/
public class Test
public static void main(String[] args)
ObjectMapper mapper = new ObjectMapper();
String s = " \"name\" : \"萧远山\", \"sex\" : \"男\", \"age\" : \"23\",\"address\" : \"河南郑州\"";
try
Map<?, ?> map = mapper.readValue(s, Map.class);
System.out.println(map.size());
Iterator<?> iterator = map.keySet().iterator();
while ( iterator.hasNext() )
Object key = iterator.next();
System.out.print(key+":");
System.out.println(map.get(key).toString());
catch (JsonParseException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (JsonMappingException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
以上是关于jackson怎么将list转为json字符串的主要内容,如果未能解决你的问题,请参考以下文章