Example usage for com.fasterxml.jackson.databind ObjectMapper ObjectMapper

List of usage examples for com.fasterxml.jackson.databind ObjectMapper ObjectMapper

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper ObjectMapper.

Prototype

public ObjectMapper() 

Source Link

Document

Default constructor, which will construct the default JsonFactory as necessary, use SerializerProvider as its SerializerProvider , and BeanSerializerFactory as its SerializerFactory .

Usage

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();
}