/** @return the converter for a PropertyMetadata instance */ public <J, D> Converter<J, D> getConverter(SinglePropertyMetadata<J, D> metadata) { Class<J> propertyType = metadata.getPropertyType(); if (metadata.getAnnotation(AsJSON.class) != null) { TypeFactory typeFactory = objectMapper.getTypeFactory(); JavaType type; if (Map.class.isAssignableFrom(propertyType)) { Class[] mapKeyValue = guessMapGenericType(metadata); type = typeFactory.constructMapType(Map.class, mapKeyValue[0], mapKeyValue[1]); } else if (Set.class.isAssignableFrom(propertyType)) { type = typeFactory.constructCollectionType( Set.class, typeFactory.constructType(guessCollectionGenericType(metadata))); } else if (Collection.class.isAssignableFrom(propertyType)) { type = typeFactory.constructCollectionType( List.class, typeFactory.constructType(guessCollectionGenericType(metadata))); } else { type = typeFactory.uncheckedSimpleType(propertyType); } return new JsonConverter(type, objectMapper); } if (Collection.class.isAssignableFrom(propertyType)) { return getCollectionConverter( (Class<? extends Iterable>) propertyType, guessCollectionGenericType(metadata)); } else { return getConverter(propertyType); } }
/** * Get List Object from key and Object type * * @param key * @param clz * @return */ public <T> List<T> getList(String key, Class<T> clz) { ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); List<T> lst = mapper.convertValue( this.data.get(key), mapper.getTypeFactory().constructCollectionType(List.class, clz)); return lst; }
@Override protected void onPostExecute(MobileResponse<List<R>> result) { if (callback != null) { if (result.isSuccess()) { ObjectMapper mapper = new ObjectMapper(); JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, cltype); List<R> results = mapper.convertValue(result.getResult(), type); callback.onReceivedResult(results); } else { callback.onReceivedError( result.getErrorCode(), result.getErrorMessage(), result.getErrorTitle()); } } }
public List<T> fromJsonArrayToObjectList(String jsonInput) { ObjectMapper mapper = new ObjectMapper(); JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, persistentClass); List<T> myObjects = null; try { myObjects = mapper.readValue(jsonInput, type); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return myObjects; }
@Test public void testDeserializeFromJsonO14640() throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(ACCEPT_SINGLE_VALUE_AS_ARRAY, true); TypeFactory typeFactory = objectMapper.getTypeFactory(); InputStream inputStream = getClass().getResourceAsStream("/O14640.json"); List<Sequence> sequences = objectMapper.readValue( inputStream, typeFactory.constructCollectionType(List.class, Sequence.class)); assertNotNull(sequences); assertEquals(1, sequences.size()); Sequence s = sequences.get(0); assertEquals(695, s.getLength()); assertEquals(5, s.getRegions().size()); assertEquals(0, s.getMarkups().size()); assertEquals(7, s.getMotifs().size()); assertEquals("uniprot", s.getMetadata().get("database")); }
private List<Artilharia> obterArtilharia() { ObjectMapper mapper = new ObjectMapper(); ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("artilharia.json").getFile()); try { JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, Artilharia.class); return mapper.readValue(file, type); } 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(); } return null; }
public static <T> T convertJson(String json, Class<?> outerClass, Class<?> innerClass) throws JsonMappingException, IOException, ClassNotFoundException { // constructParametricType means construct from any specialized class return objectMapper.readValue( json, objectMapper.getTypeFactory().constructParametricType(outerClass, innerClass)); }
@Test public void TestPerson() throws JsonParseException, JsonMappingException, IOException { mapper.readValue( new File("src/test/resources/json/person.json"), mapper.getTypeFactory().constructParametricType(Response.class, Person.class)); }