제 생각에는 Java와 Json 간의 변환을 위한 프레임워크 중 가장 빠른 것은 Jackson입니다. 물론 Google의 Gson도 매우 좋지만, 인터넷상의 사람들의 성능 테스트에 따르면 Jackson이 더 빠른 것 같습니다.
Jackson은 ObjectMapper 객체의 readValue 및 writeValueAsString 메소드를 사용하여 일반 JavaBean과 Json 간의 변환을 처리할 수 있습니다. 그러나 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를 지원해 주시길 바랍니다. 중국사이트.
Java Jackson이 json 문자열을 일반 목록으로 변환하는 것과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!