Maison >Java >javaDidacticiel >Jackson de Java convertit la chaîne json en liste générique

Jackson de Java convertit la chaîne json en liste générique

高洛峰
高洛峰original
2017-02-16 16:50:261473parcourir

Jackson, je pense, est le framework le plus rapide pour la conversion entre Java et Json. Bien sûr, Gson de Google est également très bon, mais d'après les tests de performances des internautes, il semble que Jackson soit plus rapide

.

Jackson peut gérer la conversion entre JavaBean général et Json en utilisant simplement les méthodes readValue et writeValueAsString de l'objet ObjectMapper. Mais si vous souhaitez convertir une collection de type complexe telle que List6f9a1a6711dbe2504e0d3824080f2898, vous devez d'abord désérialiser le type complexe en un type de collection générique.

S'il s'agit de ArrayList6f9a1a6711dbe2504e0d3824080f2898, utilisez getTypeFactory().constructParametricType(collectionClass, elementClasses);

S'il s'agit de HashMapf06a8c1c72a64d06223d9867f08acdf6, alors 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);  
}

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun, et j'espère également que tout le monde le soutiendra. le site Web PHP chinois.

Pour plus d'articles sur la conversion de chaînes json par Jackson de Java en listes génériques, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn