Heim >Java >javaLernprogramm >Jackson von Java konvertiert einen JSON-String in eine generische Liste

Jackson von Java konvertiert einen JSON-String in eine generische Liste

高洛峰
高洛峰Original
2017-02-16 16:50:261472Durchsuche

Jackson ist meiner Meinung nach das schnellste Framework für die Konvertierung zwischen Java und Json. Natürlich ist Gson von Google auch sehr gut, aber basierend auf den Leistungstests von Leuten im Internet scheint Jackson schneller zu sein

Jackson kann die Konvertierung zwischen allgemeinem JavaBean und Json durchführen, indem er einfach die Methoden readValue und writeValueAsString des ObjectMapper-Objekts verwendet. Wenn Sie jedoch eine Sammlung komplexer Typen wie List6f9a1a6711dbe2504e0d3824080f2898 konvertieren möchten, müssen Sie den komplexen Typ zunächst in einen generischen Sammlungstyp deserialisieren.

Wenn es ArrayList6f9a1a6711dbe2504e0d3824080f2898 ist, dann verwenden Sie getTypeFactory().constructParametricType(collectionClass, elementClasses);

Wenn es HashMapf06a8c1c72a64d06223d9867f08acdf6 ist, dann verwenden Sie 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);  
}

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt, und ich hoffe auch, dass jeder ihn unterstützt die chinesische PHP-Website.

Weitere Artikel zum Thema Jackson, der JSON-Strings in generische Listen in Java umwandelt, finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn