ホームページ >Java >&#&チュートリアル >JavaのJacksonはjson文字列を汎用リストに変換します

JavaのJacksonはjson文字列を汎用リストに変換します

高洛峰
高洛峰オリジナル
2017-02-16 16:50:261475ブラウズ

Jackson は、Java と Json の間の変換では最も速いフレームワークだと感じます。もちろん Google の Gson も非常に優れていますが、インターネット上の誰かのパフォーマンス テストによると、一般的には Jackson の方が速いようです。 JavaBeans Json と Json 間の変換は、ObjectMapper オブジェクトの readValue メソッドと writeValueAsString メソッドを使用して実現できます。ただし、List6f9a1a6711dbe2504e0d3824080f2898 などの複合型のコレクションを変換する場合は、まず複合型を汎用のコレクション型に逆シリアル化する必要があります。

ArrayList6f9a1a6711dbe2504e0d3824080f2898 の場合は ObjectMapper の getTypeFactory().constructParametricType(collectionClass, elementClasses);

HashMapf06a8c1c72a64d06223d9867f08acdf6 の場合は 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);  
}

以上がこの記事の全内容です。皆様の学習に役立つことを願っております。また、皆様にも PHP 中国語 Web サイトをサポートしていただければ幸いです。

json 文字列を汎用リストに変換する Java の Jackson に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。