List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray
public abstract void writeEndArray() throws IOException, JsonGenerationException;
From source file:org.numenta.nupic.algorithms.CLAClassifierSerializer.java
@Override public void serialize(CLAClassifier cla, JsonGenerator jgen, SerializerProvider arg2) throws IOException, JsonProcessingException { jgen.writeStartObject();/*from w ww. j a v a 2s . c o m*/ jgen.writeNumberField("alpha", cla.alpha); jgen.writeNumberField("actValueAlpha", cla.actValueAlpha); jgen.writeNumberField("learnIteration", cla.learnIteration); jgen.writeNumberField("recordNumMinusLearnIteration", cla.recordNumMinusLearnIteration); jgen.writeNumberField("maxBucketIdx", cla.maxBucketIdx); StringBuilder sb = new StringBuilder(); for (int i : cla.steps.toArray()) { sb.append(i).append(","); } sb.setLength(sb.length() - 1); jgen.writeStringField("steps", sb.toString()); sb = new StringBuilder(); for (Tuple t : cla.patternNZHistory) { sb.append(t.get(0)).append("-").append(Arrays.toString((int[]) t.get(1))).append(";"); } sb.setLength(sb.length() - 1); jgen.writeStringField("patternNZHistory", sb.toString()); sb = new StringBuilder(); for (Tuple t : cla.activeBitHistory.keySet()) { sb.append(t.get(0)).append(",").append(t.get(1)).append("-"); BitHistory bh = cla.activeBitHistory.get(t); sb.append(bh.id).append("=").append(bh.stats).append("=").append(bh.lastTotalUpdate).append(";"); } sb.setLength(sb.length() - 1); jgen.writeStringField("activeBitHistory", sb.toString()); jgen.writeArrayFieldStart("actualValues"); for (Object o : cla.actualValues) { jgen.writeObject(o); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:msearch.filmlisten.MSFilmlisteSchreiben.java
public void filmlisteSchreibenJson(String datei, ListeFilme listeFilme) { MSLog.systemMeldung("Filme schreiben (" + listeFilme.size() + " Filme) :"); File file = new File(datei); File dir = new File(file.getParent()); if (!dir.exists()) { if (!dir.mkdirs()) { MSLog.fehlerMeldung(915236478, MSLog.FEHLER_ART_PROG, "MSearchIoXmlFilmlisteSchreiben.xmlSchreibenStart", "Kann den Pfad nicht anlegen: " + dir.toString()); }//w ww .j a v a2s. c o m } MSLog.systemMeldung(" --> Start Schreiben nach: " + datei); try { String sender = "", thema = ""; JsonFactory jsonF = new JsonFactory(); JsonGenerator jg; if (datei.endsWith(MSConst.FORMAT_XZ)) { LZMA2Options options = new LZMA2Options(); XZOutputStream out = new XZOutputStream(new FileOutputStream(file), options); jg = jsonF.createGenerator(out); } else if (datei.endsWith(MSConst.FORMAT_BZ2)) { bZip2CompressorOutputStream = new BZip2CompressorOutputStream(new FileOutputStream(file), 9 /*Blocksize: 1 - 9*/); jg = jsonF.createGenerator(bZip2CompressorOutputStream, JsonEncoding.UTF8); } else if (datei.endsWith(MSConst.FORMAT_ZIP)) { zipOutputStream = new ZipOutputStream(new FileOutputStream(file)); ZipEntry entry = new ZipEntry(MSConst.XML_DATEI_FILME); zipOutputStream.putNextEntry(entry); jg = jsonF.createGenerator(zipOutputStream, JsonEncoding.UTF8); } else { jg = jsonF.createGenerator(new File(datei), JsonEncoding.UTF8); } jg.useDefaultPrettyPrinter(); // enable indentation just to make debug/testing easier jg.writeStartObject(); // Infos zur Filmliste jg.writeArrayFieldStart(ListeFilme.FILMLISTE); for (int i = 0; i < ListeFilme.MAX_ELEM; ++i) { jg.writeString(listeFilme.metaDaten[i]); } jg.writeEndArray(); // Infos der Felder in der Filmliste jg.writeArrayFieldStart(ListeFilme.FILMLISTE); for (int i = 0; i < DatenFilm.COLUMN_NAMES_JSON.length; ++i) { jg.writeString(DatenFilm.COLUMN_NAMES[DatenFilm.COLUMN_NAMES_JSON[i]]); } jg.writeEndArray(); //Filme schreiben ListIterator<DatenFilm> iterator; DatenFilm datenFilm; iterator = listeFilme.listIterator(); while (iterator.hasNext()) { datenFilm = iterator.next(); jg.writeArrayFieldStart(DatenFilm.FILME_); for (int i = 0; i < DatenFilm.COLUMN_NAMES_JSON.length; ++i) { int m = DatenFilm.COLUMN_NAMES_JSON[i]; if (m == DatenFilm.FILM_SENDER_NR) { if (datenFilm.arr[m].equals(sender)) { jg.writeString(""); } else { sender = datenFilm.arr[m]; jg.writeString(datenFilm.arr[m]); } } else if (m == DatenFilm.FILM_THEMA_NR) { if (datenFilm.arr[m].equals(thema)) { jg.writeString(""); } else { thema = datenFilm.arr[m]; jg.writeString(datenFilm.arr[m]); } } else { jg.writeString(datenFilm.arr[m]); } } jg.writeEndArray(); } jg.writeEndObject(); jg.close(); MSLog.systemMeldung(" --> geschrieben!"); } catch (Exception ex) { MSLog.fehlerMeldung(846930145, MSLog.FEHLER_ART_PROG, "IoXmlSchreiben.FilmeSchreiben", ex, "nach: " + datei); } }
From source file:msearch.io.MSFilmlisteSchreiben.java
public void filmlisteSchreibenJson(String datei, ListeFilme listeFilme) { MSLog.systemMeldung("Filme Schreiben (" + listeFilme.size() + " Filme) :"); File file = new File(datei); File dir = new File(file.getParent()); if (!dir.exists()) { if (!dir.mkdirs()) { MSLog.fehlerMeldung(915236478, MSLog.FEHLER_ART_PROG, "MSearchIoXmlFilmlisteSchreiben.xmlSchreibenStart", "Kann den Pfad nicht anlegen: " + dir.toString()); }//from w w w.j a v a 2 s . c o m } MSLog.systemMeldung(" --> Start Schreiben nach: " + datei); try { String sender = "", thema = ""; JsonFactory jsonF = new JsonFactory(); JsonGenerator jg; if (datei.endsWith(MSConst.FORMAT_XZ)) { LZMA2Options options = new LZMA2Options(); XZOutputStream out = new XZOutputStream(new FileOutputStream(file), options); jg = jsonF.createGenerator(out); } else if (datei.endsWith(MSConst.FORMAT_BZ2)) { bZip2CompressorOutputStream = new BZip2CompressorOutputStream(new FileOutputStream(file), 9 /*Blocksize: 1 - 9*/); jg = jsonF.createGenerator(bZip2CompressorOutputStream, JsonEncoding.UTF8); } else if (datei.endsWith(MSConst.FORMAT_ZIP)) { zipOutputStream = new ZipOutputStream(new FileOutputStream(file)); ZipEntry entry = new ZipEntry(MSConst.XML_DATEI_FILME); zipOutputStream.putNextEntry(entry); jg = jsonF.createGenerator(zipOutputStream, JsonEncoding.UTF8); } else { jg = jsonF.createGenerator(new File(datei), JsonEncoding.UTF8); } jg.useDefaultPrettyPrinter(); // enable indentation just to make debug/testing easier jg.writeStartObject(); // Infos zur Filmliste jg.writeArrayFieldStart(ListeFilme.FILMLISTE); for (int i = 0; i < ListeFilme.MAX_ELEM; ++i) { jg.writeString(listeFilme.metaDaten[i]); } jg.writeEndArray(); // Infos der Felder in der Filmliste jg.writeArrayFieldStart(ListeFilme.FILMLISTE); for (int i = 0; i < DatenFilm.COLUMN_NAMES_JSON.length; ++i) { jg.writeString(DatenFilm.COLUMN_NAMES[DatenFilm.COLUMN_NAMES_JSON[i]]); } jg.writeEndArray(); //Filme schreiben ListIterator<DatenFilm> iterator; DatenFilm datenFilm; iterator = listeFilme.listIterator(); while (iterator.hasNext()) { datenFilm = iterator.next(); jg.writeArrayFieldStart(DatenFilm.FILME_); for (int i = 0; i < DatenFilm.COLUMN_NAMES_JSON.length; ++i) { int m = DatenFilm.COLUMN_NAMES_JSON[i]; if (m == DatenFilm.FILM_SENDER_NR) { if (datenFilm.arr[m].equals(sender)) { jg.writeString(""); } else { sender = datenFilm.arr[m]; jg.writeString(datenFilm.arr[m]); } } else if (m == DatenFilm.FILM_THEMA_NR) { if (datenFilm.arr[m].equals(thema)) { jg.writeString(""); } else { thema = datenFilm.arr[m]; jg.writeString(datenFilm.arr[m]); } } else { jg.writeString(datenFilm.arr[m]); } } jg.writeEndArray(); } jg.writeEndObject(); jg.close(); MSLog.systemMeldung(" --> geschrieben!"); } catch (Exception ex) { MSLog.fehlerMeldung(846930145, MSLog.FEHLER_ART_PROG, "IoXmlSchreiben.FilmeSchreiben", ex, "nach: " + datei); } }
From source file:org.jmxtrans.embedded.output.LibratoWriter.java
public void serialize(@Nonnull Iterable<QueryResult> counters, @Nonnull Iterable<QueryResult> gauges, @Nonnull OutputStream out) throws IOException { JsonGenerator g = jsonFactory.createGenerator(out, JsonEncoding.UTF8); g.writeStartObject();//from w w w. j a va 2s . com g.writeArrayFieldStart("counters"); for (QueryResult counter : counters) { g.writeStartObject(); g.writeStringField("name", counter.getName()); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", counter.getEpoch(TimeUnit.SECONDS)); if (counter.getValue() instanceof Integer) { g.writeNumberField("value", (Integer) counter.getValue()); } else if (counter.getValue() instanceof Long) { g.writeNumberField("value", (Long) counter.getValue()); } else if (counter.getValue() instanceof Float) { g.writeNumberField("value", (Float) counter.getValue()); } else if (counter.getValue() instanceof Double) { g.writeNumberField("value", (Double) counter.getValue()); } else if (counter.getValue() instanceof AtomicInteger) { g.writeNumberField("value", ((AtomicInteger) counter.getValue()).get()); } else if (counter.getValue() instanceof AtomicLong) { g.writeNumberField("value", ((AtomicLong) counter.getValue()).get()); } g.writeEndObject(); } g.writeEndArray(); g.writeArrayFieldStart("gauges"); for (QueryResult gauge : gauges) { g.writeStartObject(); g.writeStringField("name", gauge.getName()); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", gauge.getEpoch(TimeUnit.SECONDS)); if (gauge.getValue() instanceof Integer) { g.writeNumberField("value", (Integer) gauge.getValue()); } else if (gauge.getValue() instanceof Long) { g.writeNumberField("value", (Long) gauge.getValue()); } else if (gauge.getValue() instanceof Float) { g.writeNumberField("value", (Float) gauge.getValue()); } else if (gauge.getValue() instanceof Double) { g.writeNumberField("value", (Double) gauge.getValue()); } else if (gauge.getValue() instanceof AtomicInteger) { g.writeNumberField("value", ((AtomicInteger) gauge.getValue()).get()); } else if (gauge.getValue() instanceof AtomicLong) { g.writeNumberField("value", ((AtomicLong) gauge.getValue()).get()); } g.writeEndObject(); } g.writeEndArray(); g.writeEndObject(); g.flush(); g.close(); }
From source file:com.spotify.docker.client.DefaultDockerClient.java
@Override public List<Image> listImages(ListImagesParam... params) throws DockerException, InterruptedException { WebTarget resource = resource().path("images").path("json"); final Map<String, String> filters = newHashMap(); for (ListImagesParam param : params) { if (param instanceof ListImagesFilterParam) { filters.put(param.name(), param.value()); } else {/*from ww w .ja v a 2 s .co m*/ resource = resource.queryParam(param.name(), param.value()); } } // If filters were specified, we must put them in a JSON object and pass them using the // 'filters' query param like this: filters={"dangling":["true"]} try { if (!filters.isEmpty()) { final StringWriter writer = new StringWriter(); final JsonGenerator generator = objectMapper().getFactory().createGenerator(writer); generator.writeStartObject(); for (Map.Entry<String, String> entry : filters.entrySet()) { generator.writeArrayFieldStart(entry.getKey()); generator.writeString(entry.getValue()); generator.writeEndArray(); } generator.writeEndObject(); generator.close(); // We must URL encode the string, otherwise Jersey chokes on the double-quotes in the json. final String encoded = URLEncoder.encode(writer.toString(), UTF_8.name()); resource = resource.queryParam("filters", encoded); } } catch (IOException e) { throw new DockerException(e); } return request(GET, IMAGE_LIST, resource, resource.request(APPLICATION_JSON_TYPE)); }
From source file:com.castlemock.web.mock.rest.converter.swagger.SwaggerRestDefinitionConverter.java
/** * The method generates a response body based on a given name, {@link Property} and a map of {@link Model}. * @param name The name of the property. * @param property The property that will be part of the response. * @param definitions The map of definitions will be used when composing the response body. * @param generator The {@link JsonGenerator}. * @throws IOException//from w w w . j a v a2 s. c o m * @since 1.13 * @see {@link #generateJsonBody(Response, Map)} */ private void generateJsonBody(final String name, final Property property, final Map<String, Model> definitions, final JsonGenerator generator) throws IOException { if (name != null) { generator.writeFieldName(name); } if (property instanceof RefProperty) { final RefProperty refProperty = (RefProperty) property; final String simpleRef = refProperty.getSimpleRef(); final Model model = definitions.get(simpleRef); if (model == null) { LOGGER.warn("Unable to find the following definition in the Swagger file: " + simpleRef); return; } generateJsonBody(model, definitions, generator); } else if (property instanceof ArrayProperty) { final ArrayProperty arrayProperty = (ArrayProperty) property; final Property item = arrayProperty.getItems(); final int maxItems = getMaxItems(arrayProperty.getMaxItems()); generator.writeStartArray(); for (int index = 0; index < maxItems; index++) { generateJsonBody(item.getName(), item, definitions, generator); } generator.writeEndArray(); } else { String expression = getExpressionIdentifier(property); if (expression != null) { generator.writeObject(expression); } else { // Unsupported type. Need to write something otherwise // we might have a serialization problem. generator.writeObject(""); } } }
From source file:org.apache.olingo.client.core.serialization.JsonEntitySetSerializer.java
protected void doContainerSerialize(final ResWrap<EntityCollection> container, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { final EntityCollection entitySet = container.getPayload(); jgen.writeStartObject();/*www . ja va 2s . com*/ if (serverMode) { if (container.getContextURL() != null) { jgen.writeStringField(Constants.JSON_CONTEXT, container.getContextURL().toASCIIString()); } if (StringUtils.isNotBlank(container.getMetadataETag())) { jgen.writeStringField(Constants.JSON_METADATA_ETAG, container.getMetadataETag()); } } if (entitySet.getId() != null) { jgen.writeStringField(Constants.JSON_ID, entitySet.getId().toASCIIString()); } jgen.writeNumberField(Constants.JSON_COUNT, entitySet.getCount() == null ? entitySet.getEntities().size() : entitySet.getCount()); if (serverMode) { if (entitySet.getNext() != null) { jgen.writeStringField(Constants.JSON_NEXT_LINK, entitySet.getNext().toASCIIString()); } if (entitySet.getDeltaLink() != null) { jgen.writeStringField(Constants.JSON_DELTA_LINK, entitySet.getDeltaLink().toASCIIString()); } } for (Annotation annotation : entitySet.getAnnotations()) { valuable(jgen, annotation, "@" + annotation.getTerm()); } jgen.writeArrayFieldStart(Constants.VALUE); final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(serverMode, contentType); for (Entity entity : entitySet.getEntities()) { entitySerializer.doSerialize(entity, jgen); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:com.spotify.docker.client.DefaultDockerClient.java
@Override public String execCreate(String containerId, String[] cmd, ExecParameter... params) throws DockerException, InterruptedException { WebTarget resource = resource().path("containers").path(containerId).path("exec"); final StringWriter writer = new StringWriter(); try {/*from w w w.j av a 2 s . c o m*/ final JsonGenerator generator = objectMapper().getFactory().createGenerator(writer); generator.writeStartObject(); for (ExecParameter param : params) { generator.writeBooleanField(param.getName(), true); } generator.writeArrayFieldStart("Cmd"); for (String s : cmd) { generator.writeString(s); } generator.writeEndArray(); generator.writeEndObject(); generator.close(); } catch (IOException e) { throw new DockerException(e); } String response; try { response = request(POST, String.class, resource, resource.request(APPLICATION_JSON_TYPE), Entity.json(writer.toString())); } catch (DockerRequestException e) { switch (e.status()) { case 404: throw new ContainerNotFoundException(containerId); default: throw e; } } try { JsonNode json = objectMapper().readTree(response); return json.findValue("Id").textValue(); } catch (IOException e) { throw new DockerException(e); } }
From source file:com.bazaarvoice.jsonpps.PrettyPrintJson.java
public void prettyPrint(List<File> inputFiles, File outputFile) throws IOException { JsonFactory factory = new JsonFactory(); factory.disable(JsonFactory.Feature.INTERN_FIELD_NAMES); if (!strict) { factory.enable(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER); factory.enable(JsonParser.Feature.ALLOW_COMMENTS); factory.enable(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS); factory.enable(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS); factory.enable(JsonParser.Feature.ALLOW_SINGLE_QUOTES); factory.enable(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS); factory.enable(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES); }/*from w w w . ja v a 2 s . c o m*/ ObjectMapper mapper = null; if (sortKeys) { mapper = new ObjectMapper(factory); mapper.enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS); mapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE); } // Open the output stream and create the Json emitter. JsonGenerator generator; File tempOutputFile = null; if (STDINOUT.equals(outputFile)) { generator = factory.createGenerator(stdout, JsonEncoding.UTF8); } else if (!caseInsensitiveContains(inputFiles, outputFile)) { generator = factory.createGenerator(outputFile, JsonEncoding.UTF8); } else { // Writing to an input file.. use a temp file to stage the output until we're done. tempOutputFile = getTemporaryFileFor(outputFile); generator = factory.createGenerator(tempOutputFile, JsonEncoding.UTF8); } try { // Separate top-level objects by a newline in the output. String newline = System.getProperty("line.separator"); generator.setPrettyPrinter(new DefaultPrettyPrinter(newline)); if (wrap) { generator.writeStartArray(); } for (File inputFile : inputFiles) { JsonParser parser; if (STDINOUT.equals(inputFile)) { parser = factory.createParser(stdin); } else { parser = factory.createParser(inputFile); } try { while (parser.nextToken() != null) { copyCurrentStructure(parser, mapper, 0, generator); } } finally { parser.close(); } } if (wrap) { generator.writeEndArray(); } generator.writeRaw(newline); } finally { generator.close(); } if (tempOutputFile != null && !tempOutputFile.renameTo(outputFile)) { System.err.println("error: unable to rename temporary file to output: " + outputFile); System.exit(1); } }