List of usage examples for com.fasterxml.jackson.core JsonFactory JsonFactory
public JsonFactory()
From source file:pl.sgorecki.facebook.marketing.ads.impl.FacebookAdsErrorHandler.java
private FacebookError extractErrorFromResponse(ClientHttpResponse response) throws IOException { String json = readResponseJson(response); try {/*from w w w . jav a 2s . co m*/ ObjectMapper mapper = new ObjectMapper(new JsonFactory()); JsonNode jsonNode = mapper.readValue(json, JsonNode.class); if (jsonNode.has("error")) { JsonNode errorNode = jsonNode.get("error"); Integer code = errorNode.has("code") ? errorNode.get("code").intValue() : null; String type = errorNode.has("type") ? errorNode.get("type").asText() : null; String message = errorNode.has("message") ? errorNode.get("message").asText() : null; Integer subcode = errorNode.has("error_subcode") ? errorNode.get("error_subcode").intValue() : null; String userMessage = errorNode.has("error_user_msg") ? errorNode.get("error_user_msg").asText() : null; String userTitle = errorNode.has("error_user_title") ? errorNode.get("error_user_title").asText() : null; FacebookError error = new FacebookError(code, type, message, subcode, userMessage, userTitle); if (logger.isDebugEnabled()) { logger.debug("Facebook error: "); logger.debug(" CODE : " + error.getCode()); logger.debug(" TYPE : " + error.getType()); logger.debug(" SUBCODE : " + error.getSubcode()); logger.debug(" MESSAGE : " + error.getMessage()); logger.debug(" USER TITLE : " + error.getUserTitle()); logger.debug(" USER MESSAGE: " + error.getUserMessage()); } return error; } } catch (JsonParseException e) { return null; } return null; }
From source file:com.tlongdev.bktf.interactor.TlongdevPriceListInteractor.java
private int parseJson(InputStream inputStream) throws IOException { //Create a parser from the input stream for fast parsing and low impact on memory JsonFactory factory = new JsonFactory(); JsonParser parser = factory.createParser(inputStream); Vector<ContentValues> cVVector = new Vector<>(); int retVal = 0; int count = 0; //Not a JSON if it doesn't start with START OBJECT if (parser.nextToken() != JsonToken.START_OBJECT) { return -1; }/*w w w .j a v a 2 s. c o m*/ while (parser.nextToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken(); switch (name) { case "success": if (parser.getIntValue() == 0) { retVal = 1; } break; case "message": errorMessage = parser.getText(); break; case "count": count = parser.getIntValue(); break; case "prices": while (parser.nextToken() != JsonToken.END_ARRAY) { ContentValues values = buildContentValues(parser); cVVector.add(values); } if (cVVector.size() > 0) { ContentValues[] cvArray = new ContentValues[cVVector.size()]; cVVector.toArray(cvArray); //Insert all the data into the database rowsInserted = mContext.getContentResolver().bulkInsert(PriceEntry.CONTENT_URI, cvArray); Log.v(LOG_TAG, "inserted " + rowsInserted + " rows into prices table"); } break; } } parser.close(); return retVal; }
From source file:mSearch.filmlisten.FilmlisteLesen.java
public void readFilmListe(String source, final ListeFilme listeFilme, int days) { Log.sysLog("Liste Filme lesen von: " + source); JsonToken jsonToken;/* w w w . jav a2 s. c o m*/ String sender = "", thema = ""; listeFilme.clear(); this.notifyStart(source, PROGRESS_MAX); // fr die Progressanzeige if (days > 0) { final long maxDays = 1000L * 60L * 60L * 24L * days; seconds = new Date().getTime() - maxDays; } else { seconds = 0; } try (InputStream in = selectDecompressor(source, getInputStreamForLocation(source)); JsonParser jp = new JsonFactory().createParser(in)) { if (jp.nextToken() != JsonToken.START_OBJECT) { throw new IllegalStateException("Expected data to start with an Object"); } while ((jsonToken = jp.nextToken()) != null) { if (jsonToken == JsonToken.END_OBJECT) { break; } if (jp.isExpectedStartArrayToken()) { for (int k = 0; k < ListeFilme.MAX_ELEM; ++k) { listeFilme.metaDaten[k] = jp.nextTextValue(); } break; } } while ((jsonToken = jp.nextToken()) != null) { if (jsonToken == JsonToken.END_OBJECT) { break; } if (jp.isExpectedStartArrayToken()) { // sind nur die Feldbeschreibungen, brauch mer nicht jp.nextToken(); break; } } while (!Config.getStop() && (jsonToken = jp.nextToken()) != null) { if (jsonToken == JsonToken.END_OBJECT) { break; } if (jp.isExpectedStartArrayToken()) { DatenFilm datenFilm = new DatenFilm(); for (int i = 0; i < DatenFilm.JSON_NAMES.length; ++i) { //if we are in FASTAUTO mode, we dont need film descriptions. //this should speed up loading on low end devices... if (workMode == WorkMode.FASTAUTO) { if (DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_BESCHREIBUNG || DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_WEBSEITE || DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_GEO) { jp.nextToken(); continue; } } // if (DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_TITEL) { // //convert UNICODE et al to java strings. // datenFilm.arr[DatenFilm.JSON_NAMES[i]] = StringEscapeUtils.unescapeJava(jp.nextTextValue()); // } else if (DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_NEU) { final String value = jp.nextTextValue(); //This value is unused... //datenFilm.arr[DatenFilm.FILM_NEU_NR] = value; datenFilm.setNew(Boolean.parseBoolean(value)); } else { datenFilm.arr[DatenFilm.JSON_NAMES[i]] = jp.nextTextValue(); } /// fr die Entwicklungszeit if (datenFilm.arr[DatenFilm.JSON_NAMES[i]] == null) { datenFilm.arr[DatenFilm.JSON_NAMES[i]] = ""; } } if (datenFilm.arr[DatenFilm.FILM_SENDER].isEmpty()) { datenFilm.arr[DatenFilm.FILM_SENDER] = sender; } else { sender = datenFilm.arr[DatenFilm.FILM_SENDER]; } if (datenFilm.arr[DatenFilm.FILM_THEMA].isEmpty()) { datenFilm.arr[DatenFilm.FILM_THEMA] = thema; } else { thema = datenFilm.arr[DatenFilm.FILM_THEMA]; } listeFilme.importFilmliste(datenFilm); if (seconds > 0) { // muss "rckwrts" laufen, da das Datum sonst 2x gebaut werden muss // wenns drin bleibt, kann mans noch ndern if (!checkDate(datenFilm)) { listeFilme.remove(datenFilm); } } } } } catch (FileNotFoundException ex) { Log.errorLog(894512369, "FilmListe existiert nicht: " + source); listeFilme.clear(); } catch (Exception ex) { Log.errorLog(945123641, ex, "FilmListe: " + source); listeFilme.clear(); } if (Config.getStop()) { Log.sysLog("--> Abbruch"); listeFilme.clear(); } notifyFertig(source, listeFilme); }
From source file:de.odysseus.staxon.json.stream.jackson.JacksonStreamSourceTest.java
@Test public void testArray3() throws IOException { StringReader reader = new StringReader("{\"alice\":{\"edgar\":[\"bob\"],\"charlie\":[\"bob\"]}}"); JacksonStreamSource source = new JacksonStreamSource(new JsonFactory().createParser(reader)); Assert.assertEquals(JsonStreamToken.START_OBJECT, source.peek()); source.startObject();// ww w.j a va2s . c o m Assert.assertEquals(JsonStreamToken.NAME, source.peek()); Assert.assertEquals("alice", source.name()); Assert.assertEquals(JsonStreamToken.START_OBJECT, source.peek()); source.startObject(); Assert.assertEquals(JsonStreamToken.NAME, source.peek()); Assert.assertEquals("edgar", source.name()); Assert.assertEquals(JsonStreamToken.START_ARRAY, source.peek()); source.startArray(); Assert.assertEquals(JsonStreamToken.VALUE, source.peek()); Assert.assertEquals("bob", source.value().text); Assert.assertEquals(JsonStreamToken.END_ARRAY, source.peek()); source.endArray(); Assert.assertEquals(JsonStreamToken.NAME, source.peek()); Assert.assertEquals("charlie", source.name()); Assert.assertEquals(JsonStreamToken.START_ARRAY, source.peek()); source.startArray(); Assert.assertEquals(JsonStreamToken.VALUE, source.peek()); Assert.assertEquals("bob", source.value().text); Assert.assertEquals(JsonStreamToken.END_ARRAY, source.peek()); source.endArray(); Assert.assertEquals(JsonStreamToken.END_OBJECT, source.peek()); source.endObject(); Assert.assertEquals(JsonStreamToken.END_OBJECT, source.peek()); source.endObject(); Assert.assertEquals(JsonStreamToken.NONE, source.peek()); source.close(); }
From source file:com.predic8.membrane.core.transport.http.AbstractHttpHandler.java
private Response generateErrorResponse(Exception e) { String msg;/* w ww. j a v a 2s . com*/ boolean printStackTrace = transport.isPrintStackTrace(); if (printStackTrace) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); msg = sw.toString(); } else { msg = e.toString(); } String comment = "Stack traces can be " + (printStackTrace ? "dis" : "en") + "abled by setting the " + "@printStackTrace attribute on <a href=\"http://membrane-soa.org/esb-doc/current/configuration/reference/transport.htm\">transport</a>. " + "More details might be found in the log."; Response error = null; ResponseBuilder b = null; if (e instanceof URISyntaxException) b = Response.badRequest(); if (b == null) b = Response.internalServerError(); switch (ContentTypeDetector.detect(exchange.getRequest()).getEffectiveContentType()) { case XML: error = b.header(HttpUtil.createHeaders(MimeType.TEXT_XML_UTF8)) .body(("<error><message>" + StringEscapeUtils.escapeXml(msg) + "</message><comment>" + StringEscapeUtils.escapeXml(comment) + "</comment></error>") .getBytes(Constants.UTF_8_CHARSET)) .build(); break; case JSON: ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { JsonGenerator jg = new JsonFactory().createGenerator(baos); jg.writeStartObject(); jg.writeFieldName("error"); jg.writeString(msg); jg.writeFieldName("comment"); jg.writeString(comment); jg.close(); } catch (Exception f) { log.error("Error generating JSON error response", f); } error = b.header(HttpUtil.createHeaders(MimeType.APPLICATION_JSON_UTF8)).body(baos.toByteArray()) .build(); break; case SOAP: error = b.header(HttpUtil.createHeaders(MimeType.TEXT_XML_UTF8)) .body(HttpUtil.getFaultSOAPBody("Internal Server Error", msg + " " + comment) .getBytes(Constants.UTF_8_CHARSET)) .build(); break; case UNKNOWN: error = HttpUtil.setHTMLErrorResponse(b, msg, comment); break; } return error; }
From source file:org.springframework.social.lastfm.api.impl.LastFmErrorHandler.java
private Map<Integer, String> extractErrorDetailsFromResponse(ClientHttpResponse response) throws IOException { ObjectMapper mapper = new ObjectMapper(new JsonFactory()); try {// w ww . j a v a 2 s . c om String json = readFully(response.getBody()); Map<String, String> responseMap = mapper.<Map<String, String>>readValue(json, new TypeReference<Map<String, String>>() { }); if (responseMap.containsKey("error")) { Map<Integer, String> errorMap = new HashMap<Integer, String>(); errorMap.put(new Integer(responseMap.get("error")), responseMap.get("message")); return errorMap; } else { return null; } } catch (JsonParseException e) { return null; } }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParserTest.java
@Test public void testNested3() throws IOException { JsonParser p = new JsonFactory() .createParser("{\"a\":{\"$type\":\"y\", \"c\":2, \"d\":2.1}, \"$type\":\"x\", \"b\":1.1}"); p.nextToken(); // START_OBJECT p.nextToken(); // FIELD_NAME TypeScannerJsonParser p2 = new TypeScannerJsonParser(p); assertEquals("x", p2.findType()); assertNextField("a", p2); assertEquals(JsonToken.START_OBJECT, p2.nextToken()); // start nested object p2.nextToken(); // FIELD_NAME assertEquals("y", p2.findType()); assertNextField("c", p2); assertNextIntValue(2, p2);//from w ww.j av a 2 s.c o m assertNextField("d", p2); assertNextFloatValue(2.1, p2); assertEquals(JsonToken.END_OBJECT, p2.nextToken()); // end nested object assertNextField("b", p2); assertNextFloatValue(1.1, p2); assertEquals(JsonToken.END_OBJECT, p2.nextToken()); assertNull(p2.nextToken()); }
From source file:org.springframework.data.elasticsearch.core.DefaultResultMapper.java
private String buildJSONFromFields(Collection<SearchHitField> values) { JsonFactory nodeFactory = new JsonFactory(); try {/*from ww w . j a va 2 s.c o m*/ ByteArrayOutputStream stream = new ByteArrayOutputStream(); JsonGenerator generator = nodeFactory.createGenerator(stream, JsonEncoding.UTF8); generator.writeStartObject(); for (SearchHitField value : values) { if (value.getValues().size() > 1) { generator.writeArrayFieldStart(value.getName()); for (Object val : value.getValues()) { generator.writeObject(val); } generator.writeEndArray(); } else { generator.writeObjectField(value.getName(), value.getValue()); } } generator.writeEndObject(); generator.flush(); return new String(stream.toByteArray(), Charset.forName("UTF-8")); } catch (IOException e) { return null; } }
From source file:com.adobe.communities.ugc.migration.importer.GenericUGCImporter.java
protected void doPost(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException { UGCImportHelper.checkUserPrivileges(request.getResourceResolver(), rrf); ResourceResolver resolver;//w ww. j a v a 2 s .c o m try { resolver = serviceUserWrapper.getServiceResourceResolver(rrf, Collections.<String, Object>singletonMap(ResourceResolverFactory.SUBSERVICE, UGC_WRITER)); } catch (final LoginException e) { throw new ServletException("Not able to invoke service user"); } // finally get the uploaded file final RequestParameter[] fileRequestParameters = request.getRequestParameters("file"); if (fileRequestParameters != null && fileRequestParameters.length > 0 && !fileRequestParameters[0].isFormField()) { if (fileRequestParameters[0].getFileName().endsWith(".json")) { // if upload is a single json file... // get the resource we'll be adding new content to final String path = request.getRequestParameter("path").getString(); final Resource resource = resolver.getResource(path); if (resource == null) { resolver.close(); throw new ServletException("Could not find a valid resource for import"); } final InputStream inputStream = fileRequestParameters[0].getInputStream(); final JsonParser jsonParser = new JsonFactory().createParser(inputStream); jsonParser.nextToken(); // get the first token importFile(jsonParser, resource, resolver); } else if (fileRequestParameters[0].getFileName().endsWith(".zip")) { ZipInputStream zipInputStream; try { zipInputStream = new ZipInputStream(fileRequestParameters[0].getInputStream()); } catch (IOException e) { resolver.close(); throw new ServletException("Could not open zip archive"); } try { final RequestParameter[] paths = request.getRequestParameters("path"); int counter = 0; ZipEntry zipEntry = zipInputStream.getNextEntry(); while (zipEntry != null && paths.length > counter) { final String path = paths[counter].getString(); final Resource resource = resolver.getResource(path); if (resource == null) { resolver.close(); throw new ServletException("Could not find a valid resource for import"); } final JsonParser jsonParser = new JsonFactory().createParser(zipInputStream); jsonParser.nextToken(); // get the first token importFile(jsonParser, resource, resolver); zipInputStream.closeEntry(); zipEntry = zipInputStream.getNextEntry(); counter++; } } finally { zipInputStream.close(); } } else { resolver.close(); throw new ServletException("Unrecognized file input type"); } } else { resolver.close(); throw new ServletException("No file provided for UGC data"); } resolver.close(); }
From source file:net.floodlightcontroller.cli.commands.ShowSwitchCmd.java
/** * Parses a JSON string and decomposes all JSON arrays and objects. Stores the * resulting strings in a nested Map of string objects. * /* w ww . ja v a 2 s. com*/ * @param jsonString */ @SuppressWarnings("unchecked") private List<Map<String, Object>> parseJson(String jsonString) throws IOException { /* The Jackson JSON parser. */ JsonParser jp; /* The Jackson JSON factory. */ JsonFactory f = new JsonFactory(); /* The Jackson object mapper. */ ObjectMapper mapper = new ObjectMapper(); /* A list of JSON data objects retrieved by using the REST API. */ List<Map<String, Object>> jsonData = new ArrayList<Map<String, Object>>(); try { jp = f.createJsonParser(jsonString); } catch (JsonParseException e) { throw new IOException(e); } // Move to the first object in the array. jp.nextToken(); if (jp.getCurrentToken() != JsonToken.START_ARRAY) { throw new IOException("Expected START_ARRAY instead of " + jp.getCurrentToken()); } // Retrieve the information from JSON while (jp.nextToken() == JsonToken.START_OBJECT) { jsonData.add(mapper.readValue(jp, Map.class)); } // Close the JSON parser. jp.close(); // Return. return jsonData; }