List of usage examples for com.fasterxml.jackson.databind ObjectMapper ObjectMapper
public ObjectMapper()
From source file:com.creditcloud.interestbearing.model.ConfigObjBase.java
public String toJSON() { ObjectMapper mapper = new ObjectMapper(); String json;/*from ww w .jav a 2s . co m*/ try { json = mapper.writeValueAsString(this); // return json; } catch (JsonProcessingException ex) { log.error("?{}?JSON?", this, ex); return "{}"; } }
From source file:org.mayocat.configuration.internal.AbstractConfigurationTest.java
protected Map<String, Serializable> loadConfiguration(String uri) throws Exception { ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(loadJSON(uri), new TypeReference<Map<String, Object>>() { });/* w w w . j ava 2 s . c o m*/ }
From source file:org.smartparam.manager.json.vendor.jackson.ParamEngineJacksonEnhancer.java
public static ObjectMapper createEnhanced() { ObjectMapper jackson = new ObjectMapper(); enhance(jackson); return jackson; }
From source file:org.bigloupe.web.monitor.util.JSONUtil.java
/** * Writes object to the writer as JSON using Jackson and adds a new-line * before flushing./*w ww . j a v a 2 s . com*/ * * @param writer * the writer to write the JSON to * @param object * the object to write as JSON * @throws IOException * if the object can't be serialized as JSON or written to the * writer */ public static void writeJson(Writer writer, Object object) throws IOException { ObjectMapper om = new ObjectMapper(); om.enable(SerializationFeature.INDENT_OUTPUT); om.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); writer.write(om.writeValueAsString(object)); writer.write("\n"); writer.flush(); }
From source file:org.mstc.zmq.json.Decoder.java
@SuppressWarnings("unchecked") public static void decode(String input, Field[] fields, Object b) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS); if (logger.isDebugEnabled()) logger.debug(input);//from w w w. java2 s.c o m JsonFactory factory = mapper.getFactory(); try (JsonParser jp = factory.createParser(input)) { /* Sanity check: verify that we got "Json Object" */ if (jp.nextToken() != JsonToken.START_OBJECT) { throw new IOException("Expected data to start with an Object"); } /* Iterate over object fields */ while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldName = jp.getCurrentName(); jp.nextToken(); Field field = getField(fieldName, fields); if (field == null) { throw new IOException( "Could not find field [" + fieldName + "] on class " + b.getClass().getName()); } try { if (field.getType().isAssignableFrom(List.class)) { String adder = getAdder(fieldName); TypeFactory t = TypeFactory.defaultInstance(); ParameterizedType listType = (ParameterizedType) field.getGenericType(); Class<?> listClass = (Class<?>) listType.getActualTypeArguments()[0]; List list = mapper.readValue(jp.getValueAsString(), t.constructCollectionType(List.class, listClass)); Method m = b.getClass().getDeclaredMethod(adder, Collection.class); m.invoke(b, list); } else if (field.getType().isArray()) { Class<?> type = field.getType(); String setter = getSetter(fieldName); Method m = b.getClass().getDeclaredMethod(setter, field.getType()); logger.info("Field {} is array of {}[], {}, using method {}", field.getName(), field.getType().getComponentType(), jp.getCurrentToken().name(), m); if (jp.getCurrentToken().id() == JsonToken.START_ARRAY.id()) { List list = new ArrayList(); while (jp.nextToken() != JsonToken.END_ARRAY) { String value = jp.getText(); switch (jp.getCurrentToken()) { case VALUE_STRING: list.add(value); break; case VALUE_NUMBER_INT: if (type.getComponentType().isAssignableFrom(double.class)) { list.add(Double.parseDouble(value)); } else if (type.getComponentType().isAssignableFrom(float.class)) { list.add(Float.parseFloat(value)); } else { list.add(Integer.parseInt(value)); } break; case VALUE_NUMBER_FLOAT: logger.info("Add float"); list.add(jp.getFloatValue()); break; case VALUE_NULL: break; default: logger.warn("[3] Not sure how to handle {} yet", jp.getCurrentToken().name()); } } Object array = Array.newInstance(field.getType().getComponentType(), list.size()); for (int i = 0; i < list.size(); i++) { Object val = list.get(i); Array.set(array, i, val); } m.invoke(b, array); } else { if (type.getComponentType().isAssignableFrom(byte.class)) { m.invoke(b, jp.getBinaryValue()); } } } else { String setter = getSetter(fieldName); logger.debug("{}: {}", setter, field.getType().getName()); Method m = b.getClass().getDeclaredMethod(setter, field.getType()); switch (jp.getCurrentToken()) { case VALUE_STRING: m.invoke(b, jp.getText()); break; case VALUE_NUMBER_INT: m.invoke(b, jp.getIntValue()); break; case VALUE_NUMBER_FLOAT: m.invoke(b, jp.getFloatValue()); break; case VALUE_NULL: logger.debug("Skip invoking {}.{}, property is null", b.getClass().getName(), m.getName()); break; case START_OBJECT: StringBuilder sb = new StringBuilder(); while (jp.nextToken() != JsonToken.END_OBJECT) { switch (jp.getCurrentToken()) { case VALUE_STRING: sb.append("\"").append(jp.getText()).append("\""); break; case FIELD_NAME: if (sb.length() > 0) sb.append(","); sb.append("\"").append(jp.getText()).append("\"").append(":"); break; case VALUE_NUMBER_INT: sb.append(jp.getIntValue()); break; case VALUE_NUMBER_FLOAT: sb.append(jp.getFloatValue()); break; case VALUE_NULL: sb.append("null"); break; default: logger.warn("[2] Not sure how to handle {} yet", jp.getCurrentToken().name()); } } String s = String.format("%s%s%s", JsonToken.START_OBJECT.asString(), sb.toString(), JsonToken.END_OBJECT.asString()); Object parsed = getNested(field.getType(), s.getBytes()); m.invoke(b, parsed); break; default: logger.warn("[1] Not sure how to handle {} yet", jp.getCurrentToken().name()); } } } catch (InvocationTargetException | NoSuchMethodException | IllegalAccessException | IllegalArgumentException e) { logger.error("Failed setting field [{}], builder: {}", fieldName, b.getClass().getName(), e); } } } }
From source file:com.recursivechaos.clearent.domain.Transaction.java
@Override public String toString() { ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); String toString = null;/*from ww w .j av a2 s .c om*/ try { toString = ow.writeValueAsString(this); } catch (JsonProcessingException e) { e.printStackTrace(); } return toString; }
From source file:org.commonjava.maven.firth.client.ArtifactClient.java
public static ArtifactClient load(final String baseUrl, final String mapsBasePath, final String packagePathFormat, final String source, final String version) throws IOException { final HttpClient http = HttpClientBuilder.create().build(); // Assume something like: http://download.devel.redhat.com/brewroot/artifact-maps/rcm-mw-tools-build/1234/composition.json final String compsUrl = PathUtils.normalize(baseUrl, mapsBasePath, source, version, "composition.json"); final ObjectMapper om = new ObjectMapper(); HttpGet request = new HttpGet(compsUrl); HttpResponse response = http.execute(request); SourceComposition comp;// w ww. j a v a 2s . com if (response.getStatusLine().getStatusCode() == 200) { comp = om.readValue(response.getEntity().getContent(), SourceComposition.class); } else { throw new IOException("Failed to read composition from: " + compsUrl); } final List<String> manifestSources = new ArrayList<String>(); manifestSources.add(source); manifestSources.addAll(comp.getComposedOf()); final List<SourceManifest> manifests = new ArrayList<SourceManifest>(); for (final String src : manifestSources) { // Assume something like: http://download.devel.redhat.com/brewroot/artifact-maps/rcm-mw-tools-build/1234/manifest.json final String manifestUrl = PathUtils.normalize(baseUrl, mapsBasePath, src, version, "manifest.json"); request = new HttpGet(manifestUrl); response = http.execute(request); if (response.getStatusLine().getStatusCode() == 200) { final SourceManifest manifest = om.readValue(response.getEntity().getContent(), SourceManifest.class); manifests.add(manifest); } else { throw new IOException("Failed to read manifest from: " + manifestUrl); } } final ArtifactMap am = new ArtifactMap(packagePathFormat, manifests); return new ArtifactClient(baseUrl, am, http); }
From source file:com.jfinal.weixin.sdk.api.AccessToken.java
public AccessToken(String jsonStr) { this.json = jsonStr; try {//from ww w . java 2 s. co m @SuppressWarnings("rawtypes") Map map = new ObjectMapper().readValue(jsonStr, Map.class); access_token = (String) map.get("access_token"); expires_in = (Integer) map.get("expires_in"); errcode = (Integer) map.get("errcode"); errmsg = (String) map.get("errmsg"); if (expires_in != null) expiredTime = System.currentTimeMillis() + ((expires_in - 5) * 1000); } catch (Exception e) { throw new RuntimeException(e); } }
From source file:net.floodlightcontroller.queuepusher.QueuePusherSwitchMapper.java
/** * Given the switch DPID it returns its ip and port by querying floodlight * /*from w ww. ja v a 2s.c om*/ * @param dpid Switch dpid * @return 0: ip 1: port */ private static Object[] getCURLMatch(String dpid) { Object[] rsp = eval("curl -s http://127.0.0.1:8080/wm/core/controller/switches/json"); ObjectMapper mapper = new ObjectMapper(); List<Map<String, Object>> args = null; try { logger.info("JSON received from CURL: " + rsp[1]); args = mapper.readValue((String) rsp[1], TypeFactory.defaultInstance().constructCollectionType(List.class, Map.class)); } catch (IOException e) { logger.warn("Error parsing JSON arguments", e); } String ip = null; int port = 0; for (Map<String, Object> entry : args) { if (((String) entry.get("dpid")).equals(dpid)) { String temp = ((String) entry.get("inetAddress")).substring(1); ip = temp.substring(0, temp.indexOf(":")); port = Integer.parseInt(temp.substring(temp.indexOf(":") + 1)); break; } } return new Object[] { ip, port }; }
From source file:mock.com.camel.json.JsonBeanTest.java
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { objectMapper = new ObjectMapper(); }