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

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

Introduction

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

Prototype

public JsonNode readTree(URL source) throws IOException, JsonProcessingException 

Source Link

Document

Method to deserialize JSON content as tree expressed using set of JsonNode instances.

Usage

From source file:com.gsma.mobileconnect.utils.AndroidJsonUtils.java

/**
 * Parse the string into a Jackson Tree//from   ww  w .j  av  a2s  .co  m
 * <p>
 * Returns a missing node if the string is empty.
 *
 * @param jsonStr The Json string to parse.
 * @return The Jackson Json Tree
 * @throws IOException
 */
public static JsonNode parseJson(String jsonStr) throws IOException {
    if (StringUtils.isNullOrEmpty(jsonStr)) {
        return MissingNode.getInstance();
    }
    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode root = objectMapper.readTree(jsonStr);
    if (null == root) {
        return MissingNode.getInstance();
    }
    return root;
}

From source file:com.gsma.mobileconnect.utils.AndroidJsonUtils.java

/**
 * Parse the string as a Jwt payload.//from   w w w.  j av a 2  s .c  om
 *
 * @param payload The string to parse.
 * @return A JwtPayload.
 * @throws IOException
 */
static private JwtPayload createJwtPayload(String payload) throws IOException {
    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode jsonDoc = objectMapper.readTree(payload);

    JwtPayload parsedJwtPayload = new JwtPayload();
    parsedJwtPayload.setClaims(jsonDoc);

    return parsedJwtPayload;
}

From source file:com.gsma.mobileconnect.utils.AndroidJsonUtils.java

/**
 * Parse the string as a Jwt header./*from   w  w w  .  j  av  a2s.  c  o  m*/
 *
 * @param header The string to parse.
 * @return A Jwt header.
 * @throws IOException
 */
static private JwtHeader createJwtHeader(String header) throws IOException {
    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode jsonDoc = objectMapper.readTree(header);

    JwtHeader parsedJwtHeader = new JwtHeader();
    parsedJwtHeader.set_typ(getOptionalStringValue(jsonDoc, Constants.TYP_FIELD_NAME));
    parsedJwtHeader.set_alg(getOptionalStringValue(jsonDoc, Constants.ALG_FIELD_NAME));

    return parsedJwtHeader;
}

From source file:edu.usu.sdl.openstorefront.common.util.StringProcessor.java

/**
 * Remove all json fields not in the list to keep.
 *
 * @param json//from  w ww.  j  a v  a2 s  .c  o m
 * @param fieldsToKeep
 * @return
 */
public static String stripeFieldJSON(String json, Set<String> fieldsToKeep) {
    ObjectMapper mapper = defaultObjectMapper();

    try {
        JsonNode rootNode = mapper.readTree(json);
        processNode(rootNode, fieldsToKeep);

        Object jsonString = mapper.readValue(rootNode.toString(), Object.class);
        return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonString);
    } catch (IOException ex) {
        throw new OpenStorefrontRuntimeException(ex);
    }
}

From source file:com.msopentech.odatajclient.testservice.utils.JSONUtilities.java

public static InputStream getJsonProperty(final InputStream src, final String[] path, final String edmType)
        throws Exception {

    final ObjectMapper mapper = new ObjectMapper();
    final JsonNode srcNode = mapper.readTree(src);

    final ObjectNode property = new ObjectNode(JsonNodeFactory.instance);

    if (StringUtils.isNotBlank(edmType)) {
        property.put(JSON_ODATAMETADATA_NAME, ODATA_METADATA_PREFIX + edmType);
    }//from  ww  w.jav a 2s  . co  m

    JsonNode jsonNode = getJsonProperty(srcNode, path, 0);
    if (jsonNode.isObject()) {
        property.putAll((ObjectNode) jsonNode);
    } else {
        property.put("value", jsonNode.asText());
    }

    final ByteArrayOutputStream bos = new ByteArrayOutputStream();
    mapper.writeValue(bos, property);

    final InputStream res = new ByteArrayInputStream(bos.toByteArray());
    IOUtils.closeQuietly(bos);

    return res;
}

From source file:com.gsma.mobileconnect.utils.AndroidJsonUtils.java

/**
 * Parse the response from a request token call.
 * <p>//from  w w w  .  j av  a 2 s  .  c o  m
 * The json is expected to be either an error or a successful request token response.
 *
 * @param timeReceived The time the response was received, used to timestamp the returned object.
 * @param jsonStr The Json string to examine.
 * @return The parsed response.
 * @throws IOException
 */
public static RequestTokenResponse parseRequestTokenResponse(Calendar timeReceived, String jsonStr)
        throws IOException {
    RequestTokenResponse requestTokenResponse = new RequestTokenResponse();

    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode jsonDoc = objectMapper.readTree(jsonStr);

    ErrorResponse errorResponse = getErrorResponse(jsonDoc);
    if (null != errorResponse) {
        requestTokenResponse.setErrorResponse(getErrorResponse(jsonDoc));
        return requestTokenResponse;
    }

    RequestTokenResponseData responseData = new RequestTokenResponseData();
    requestTokenResponse.setResponseData(responseData);

    responseData.setTimeReceived(timeReceived);
    responseData.setOriginalResponse(jsonStr);

    responseData.set_access_token(getOptionalStringValue(jsonDoc, Constants.ACCESS_TOKEN_FIELD_NAME));
    responseData.set_token_type(getOptionalStringValue(jsonDoc, Constants.TOKEN_TYPE_FIELD_NAME));
    responseData.set_refresh_token(getOptionalStringValue(jsonDoc, Constants.REFRESH_TOKEN_FIELD_NAME));
    Integer expiresIn = getOptionalIntegerValue(jsonDoc, Constants.EXPIRES_IN_FIELD_NAME);
    responseData.set_expires_in(expiresIn);
    String idTokenStr = getOptionalStringValue(jsonDoc, Constants.ID_TOKEN_FIELD_NAME);
    if (!StringUtils.isNullOrEmpty(idTokenStr)) {
        ParsedIdToken parsedIdToken = createParsedIdToken(idTokenStr);
        responseData.setParsedIdToken(parsedIdToken);
    }
    return requestTokenResponse;
}

From source file:com.msopentech.odatajclient.testservice.utils.JSONUtilities.java

public static Map.Entry<String, List<String>> extractLinkURIs(final InputStream is) throws Exception {
    final ObjectMapper mapper = new ObjectMapper();
    final ObjectNode srcNode = (ObjectNode) mapper.readTree(is);
    IOUtils.closeQuietly(is);/* w  w w  .j ava 2s. c  o m*/

    final List<String> links = new ArrayList<String>();

    JsonNode uris = srcNode.get("value");
    if (uris == null) {
        final JsonNode url = srcNode.get("url");
        if (url != null) {
            links.add(url.textValue());
        }
    } else {
        final Iterator<JsonNode> iter = ((ArrayNode) uris).iterator();
        while (iter.hasNext()) {
            links.add(iter.next().get("url").textValue());
        }
    }

    final JsonNode next = srcNode.get(JSON_NEXTLINK_NAME);

    return new SimpleEntry<String, List<String>>(next == null ? null : next.asText(), links);
}

From source file:com.gsma.mobileconnect.utils.AndroidJsonUtils.java

/**
 * Parse the UserInfo object./*  ww  w.  ja va2 s.  c om*/
 * @param response
 * @return
 */
public static UserInfo parseUserInfo(String response) {
    UserInfo userInfo = new UserInfo();
    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode jsonDoc = null;
    try {
        jsonDoc = objectMapper.readTree(response);
        Log.d(TAG, jsonDoc.asText());

    } catch (IOException e) {
        e.printStackTrace();
    }

    ErrorResponse errorResponse = getErrorResponse(jsonDoc);
    if (null != errorResponse) {

        return null;
    }
    return userInfo;
}

From source file:com.brett.http.geo.baidu.GeoRequestHttpClient.java

public static JsonNode geoAcquire(String city) throws Exception {
    CloseableHttpClient httpclient = HttpClients.createDefault();
    //    DefaultHttpParams.getDefaultParams().setParameter("http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY);
    //    httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BEST_MATCH);
    try {//from   w w w.j  a va  2  s . c  o m

        String address = URLEncoder.encode(city, "utf-8");

        String url = "http://api.map.baidu.com/geocoder/v2/?address={address}&output=json&ak=E4805d16520de693a3fe707cdc962045";

        url = url.replaceFirst("\\{address\\}", address);

        HttpGet httpget = new HttpGet(url);
        httpget.setHeader("Accept",
                "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
        httpget.setHeader("Accept-Encoding", "gzip, deflate, sdch");
        httpget.setHeader("Accept-Language", "zh-CN,zh;q=0.8");
        httpget.setHeader("Cache-Control", "no-cache");
        httpget.setHeader("Connection", "keep-alive");
        httpget.setHeader("Referer",
                "http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding");
        httpget.setHeader("User-Agent",
                "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36");

        System.out.println("Executing request httpget.getRequestLine() " + httpget.getRequestLine());

        // Create a custom response handler
        ResponseHandler<String> responseHandler = new ResponseHandler<String>() {

            public String handleResponse(final HttpResponse response)
                    throws ClientProtocolException, IOException {
                int status = response.getStatusLine().getStatusCode();
                if (status >= 200 && status < 300) {
                    HttpEntity entity = response.getEntity();
                    return entity != null ? EntityUtils.toString(entity, "utf-8") : null;
                } else {
                    throw new ClientProtocolException("Unexpected response status: " + status);
                }
            }

        };
        String responseBody = httpclient.execute(httpget, responseHandler);
        System.out.println("----------------------------------------");
        System.out.println(HtmlDecoder.decode(responseBody));
        System.out.println(responseBody);

        System.out.println("----------------------------------------");

        ObjectMapper mapper = new ObjectMapper();
        mapper.readValue(responseBody, AddressCoord.class);
        //      JsonNode root = mapper.readTree(responseBody.substring("showLocation&&showLocation(".length(), responseBody.length()-1));

        // {"status":0,"result":{"location":{"lng":116.30783584945,"lat":40.056876296398},"precise":1,"confidence":80,"level":"\u5546\u52a1\u5927\u53a6"}}
        JsonNode root = mapper.readTree(responseBody);

        System.out.println("result : " + city + " = " + root.get("result"));

        return root;

    } finally {
        httpclient.close();
    }
}

From source file:com.servioticy.api.commons.data.CouchBase.java

/**
 * @param key/* w  w  w  .jav a2 s.c  om*/
 * @return JsonNode that represents the stored document
 */
public static JsonNode getJsonNode(String key) {
    ObjectMapper mapper = new ObjectMapper();
    //    JsonNode json = mapper.createObjectNode();
    JsonNode json;
    try {
        json = mapper.readTree((String) cli_so.get(key));
    } catch (NullPointerException e) {
        return null;
    } catch (Exception e) {
        LOG.error(e);
        throw new ServIoTWebApplicationException(Response.Status.INTERNAL_SERVER_ERROR, e.getMessage());
    }

    if (json != null) {
        return json;
    }
    return null;

}