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字符串的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么将对象转换成json字符串

关于jackson解析复杂json,该怎么解析

json字符串怎么转换为java对象?

怎么将数组转为json

在ASP.NET里list怎么转化为json

js中怎么把对象转成string