List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray
public abstract void writeEndArray() throws IOException, JsonGenerationException;
From source file:DAO.BestellingDAOJson.java
public void createBestelling(Bestelling bestelling, int klant_id) throws SQLException { try {/*from ww w . j a va 2 s .c o m*/ JsonFactory jfactory = new JsonFactory(); /*** write to file ***/ JsonGenerator jGenerator = jfactory.createJsonGenerator( new FileOutputStream("C:\\Users\\maurice\\Desktop\\Workshoptest.json"), JsonEncoding.UTF8); jGenerator.writeStartObject(); jGenerator.writeNumberField("klantID", bestelling.getKlant_id()); jGenerator.writeNumberField("bestelID", bestelling.getBestelling_id()); jGenerator.writeFieldName("ArtikelBestellingArray"); jGenerator.writeStartArray(); for (ArtikelBestelling artikel : (ArrayList<ArtikelBestelling>) bestelling.getArtikelBestellingList()) { jGenerator.writeStartObject(); jGenerator.writeNumberField("artikelID", artikel.getArtikelPojo().getArtikelID()); jGenerator.writeNumberField("artikelAantal", artikel.getAantal_artikelen()); jGenerator.writeEndObject(); } jGenerator.writeEndArray(); jGenerator.writeEndObject(); jGenerator.close(); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
From source file:org.seedstack.seed.core.internal.data.DataManagerImpl.java
private void dumpAll(List<DataSetMarker<Object>> dataSetMarker, OutputStream outputStream) { try {// w w w . j a v a 2 s .c o m JsonGenerator jsonGenerator = this.jsonFactory .createGenerator(new OutputStreamWriter(outputStream, Charset.forName(UTF_8))); ObjectWriter objectWriter = objectMapper.writer(); jsonGenerator.writeStartArray(); for (DataSetMarker<Object> objectDataSetMarker : dataSetMarker) { // start jsonGenerator.writeStartObject(); // metadata jsonGenerator.writeStringField(GROUP, objectDataSetMarker.getGroup()); jsonGenerator.writeStringField(NAME, objectDataSetMarker.getName()); // items jsonGenerator.writeArrayFieldStart(ITEMS); while (objectDataSetMarker.getItems().hasNext()) { objectWriter.writeValue(jsonGenerator, objectDataSetMarker.getItems().next()); } jsonGenerator.writeEndArray(); // end jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.flush(); } catch (Exception e) { throw SeedException.wrap(e, DataErrorCode.EXPORT_FAILED); } }
From source file:org.eclipse.winery.repository.resources.AbstractComponentsResource.java
/** * Used by org.eclipse.winery.repository.repository.client and by the * artifactcreationdialog.tag. Especially the "name" field is used there at * the UI/* w w w. jav a2s .co m*/ * * @return A list of all ids of all instances of this component type. If the * "name" attribute is required, that name is used as id <br /> * Format: * <code>[({"namespace": "<namespace>", "id": "<id>"},)* ]</code>. A * <code>name<code> field is added if the model allows an additional name attribute */ @GET @Produces(MediaType.APPLICATION_JSON) public String getListOfAllIds() { Class<? extends TOSCAComponentId> idClass = Utils.getComponentIdClassForComponentContainer(this.getClass()); boolean supportsNameAttribute = Util.instanceSupportsNameAttribute(idClass); SortedSet<? extends TOSCAComponentId> allTOSCAcomponentIds = Repository.INSTANCE .getAllTOSCAComponentIds(idClass); JsonFactory jsonFactory = new JsonFactory(); StringWriter sw = new StringWriter(); try { JsonGenerator jg = jsonFactory.createGenerator(sw); // We produce org.eclipse.winery.repository.client.WineryRepositoryClient.NamespaceAndId by hand here // Refactoring could move this class to common and fill it here jg.writeStartArray(); for (TOSCAComponentId id : allTOSCAcomponentIds) { jg.writeStartObject(); jg.writeStringField("namespace", id.getNamespace().getDecoded()); jg.writeStringField("id", id.getXmlId().getDecoded()); if (supportsNameAttribute) { AbstractComponentInstanceResource componentInstaceResource = AbstractComponentsResource .getComponentInstaceResource(id); String name = ((IHasName) componentInstaceResource).getName(); jg.writeStringField("name", name); } jg.writeEndObject(); } jg.writeEndArray(); jg.close(); } catch (Exception e) { AbstractComponentsResource.logger.error(e.getMessage(), e); return "[]"; } return sw.toString(); }
From source file:org.pentaho.pdi.engine.serializers.DataEventSerializer.java
public DataEventSerializer() { super(DataEvent.class); SimpleModule module = new SimpleModule(); module.addSerializer(DataEvent.class, new JsonSerializer<DataEvent>() { @Override/*from w w w . ja v a 2 s . c om*/ public void serialize(DataEvent dataEvent, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { jsonGenerator.writeStartObject(); Rows rows = (Rows) dataEvent.getData(); jsonGenerator.writeStringField("model-id", dataEvent.getSource().getId()); jsonGenerator.writeStringField("type", rows.getType().toString()); jsonGenerator.writeStringField("state", rows.getState().toString()); jsonGenerator.writeArrayFieldStart("rows"); for (Row row : rows) { jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart("names"); for (String name : row.getColumnNames()) { jsonGenerator.writeString(name); } jsonGenerator.writeEndArray(); jsonGenerator.writeArrayFieldStart("objects"); for (Object obj : row.getObjects().get()) { jsonGenerator.writeStartObject(); if (obj == null) { jsonGenerator.writeStringField("type", "Null"); jsonGenerator.writeEndObject(); continue; } switch (obj.getClass().getSimpleName()) { case "String": jsonGenerator.writeStringField("type", "String"); jsonGenerator.writeStringField("obj", obj.toString()); break; case "Date": jsonGenerator.writeStringField("type", "Date"); jsonGenerator.writeStringField("obj", DATE_TIME_INSTANCE.format((Date) obj)); break; case "Integer": jsonGenerator.writeStringField("type", "Integer"); jsonGenerator.writeNumberField("obj", (Integer) obj); break; case "Long": jsonGenerator.writeStringField("type", "Long"); jsonGenerator.writeNumberField("obj", (Long) obj); break; case "Double": jsonGenerator.writeStringField("type", "Double"); jsonGenerator.writeNumberField("obj", (Double) obj); break; case "BigDecimal": jsonGenerator.writeStringField("type", "BigDecimal"); jsonGenerator.writeStringField("obj", obj.toString()); break; case "Boolean": jsonGenerator.writeStringField("type", "Boolean"); jsonGenerator.writeBooleanField("obj", (Boolean) obj); break; case "byte[]": jsonGenerator.writeStringField("type", "byte[]"); jsonGenerator.writeStringField("obj", new String(((byte[]) obj), "UTF-8")); break; default: if (obj instanceof Serializable) { jsonGenerator.writeStringField("type", "Object"); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream); objectOutputStream.writeObject(obj); objectOutputStream.close(); outputStream.close(); byte[] bytes = outputStream.toByteArray(); jsonGenerator.writeStringField("obj", Base64.encodeBase64String(bytes)); } } jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); } }); module.addDeserializer(DataEvent.class, new StdNodeBasedDeserializer<DataEvent>(DataEvent.class) { @Override public DataEvent convert(JsonNode jsonNode, DeserializationContext deserializationContext) throws IOException { Rows.TYPE type = Rows.TYPE.valueOf(jsonNode.get("type").asText()); Rows.STATE state = Rows.STATE.valueOf(jsonNode.get("state").asText()); List<Row> rows = new ArrayList<>(); JsonNode json_rows = jsonNode.get("rows"); for (JsonNode row : json_rows) { List<Class> types = new ArrayList<>(); List<String> names = new ArrayList<>(); for (JsonNode name : row.get("names")) { names.add(name.asText()); } List<Object> objects = new ArrayList<>(); for (JsonNode obj : row.get("objects")) { JsonNode t = obj.get("type"); JsonNode rawObject = obj.get("obj"); Object object = null; String objType = t.asText(); switch (objType) { case "Null": types.add(Void.class); break; case "String": types.add(String.class); object = rawObject.asText(); break; case "Integer": types.add(Integer.class); object = rawObject.asInt(); break; case "Long": types.add(Long.class); object = rawObject.asLong(); break; case "Date": types.add(Date.class); try { object = DATE_TIME_INSTANCE.parse(rawObject.asText()); } catch (ParseException e) { e.printStackTrace(); } break; case "Double": types.add(Double.class); object = rawObject.asDouble(); break; case "BigDecimal": types.add(BigDecimal.class); object = new BigDecimal(rawObject.asText()); break; case "Boolean": types.add(Boolean.class); object = rawObject.asBoolean(); break; case "byte[]": types.add(byte[].class); object = rawObject.asText().getBytes("UTF-8"); break; case "Object": try { types.add(Object.class); object = new ObjectInputStream( new ByteArrayInputStream(Base64.decodeBase64(rawObject.asText()))) .readObject(); } catch (ClassNotFoundException e) { e.printStackTrace(); } break; } objects.add(object); } Row r = new DeserializedRow(names, types, objects); rows.add(r); } Rows rowsObj = new Rows(rows, type, state); return new DataEvent(new RemoteSource(jsonNode.get("model-id").asText()), rowsObj); } }); mapper.registerModule(module); }
From source file:api.controller.ApiDocsController.java
@RequestMapping(method = RequestMethod.GET, headers = "Accept=application/json") public @ResponseBody String genDocs() throws IOException { StringWriter sw = new StringWriter(); JsonGenerator g = new JsonFactory().createGenerator(sw); g.useDefaultPrettyPrinter();/*from w ww .java 2s.c o m*/ g.writeStartObject(); g.writeStringField("swagger", "2.0"); g.writeObjectFieldStart("info"); g.writeStringField("title", "Java, SpringMVC, Jetty, Heroku API example"); g.writeStringField("description", "Example of simple microservice for API"); g.writeObjectFieldStart("contact"); g.writeStringField("name", "zedar"); g.writeStringField("url", "https://github.com/zedar"); g.writeEndObject(); g.writeObjectFieldStart("license"); g.writeStringField("name", "Creative Commons 4.0 International"); g.writeStringField("url", "http://creativecommons.org/licenses/by/4.0/"); g.writeEndObject(); g.writeStringField("version", "0.0.1"); g.writeEndObject(); g.writeStringField("host", "api-springmvc-jetty.herokuapp.com"); g.writeStringField("basePath", "/api"); g.writeArrayFieldStart("schemes"); g.writeString("https"); g.writeEndArray(); g.writeObjectFieldStart("paths"); g.writeObjectFieldStart("/actions"); g.writeObjectFieldStart("get"); g.writeArrayFieldStart("tags"); g.writeString("action"); g.writeEndArray(); g.writeStringField("summary", "Find actions with optional query"); g.writeArrayFieldStart("parameters"); g.writeStartObject(); g.writeStringField("name", "query"); g.writeStringField("in", "query"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeEndArray(); g.writeObjectFieldStart("responses"); g.writeObjectFieldStart("200"); g.writeStringField("description", "Response with list of found actions"); g.writeObjectFieldStart("schema"); g.writeStringField("type", "array"); g.writeObjectFieldStart("items"); g.writeStringField("$ref", "#/definitions/Action"); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeObjectFieldStart("default"); g.writeStringField("description", "Unexpected error"); g.writeObjectFieldStart("schema"); g.writeStringField("$ref", "#/definitions/Error"); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeObjectFieldStart("definitions"); g.writeObjectFieldStart("Action"); g.writeArrayFieldStart("required"); g.writeString("id"); g.writeString("name"); g.writeEndArray(); g.writeObjectFieldStart("properties"); g.writeObjectFieldStart("id"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeObjectFieldStart("name"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeObjectFieldStart("description"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeObjectFieldStart("url"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeObjectFieldStart("tags"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeObjectFieldStart("Error"); g.writeArrayFieldStart("required"); g.writeString("code"); g.writeString("message"); g.writeEndArray(); g.writeObjectFieldStart("properties"); g.writeObjectFieldStart("code"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeObjectFieldStart("message"); g.writeStringField("type", "string"); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.writeEndObject(); g.close(); String out = sw.toString(); log.debug("API-DOCS:" + out); return out; }
From source file:org.pentaho.metaverse.impl.model.kettle.json.JobMetaJsonSerializer.java
@Override protected void serializeSteps(JobMeta meta, JsonGenerator json) throws IOException { json.writeArrayFieldStart(JSON_PROPERTY_STEPS); int numberOfEntries = meta.nrJobEntries(); for (int i = 0; i < numberOfEntries; i++) { JobEntryCopy jobEntry = meta.getJobEntry(i); LineageRepository repo = getLineageRepository(); ObjectId jobId = meta.getObjectId() == null ? new StringObjectId(meta.getName()) : meta.getObjectId(); ObjectId entryId = jobEntry.getObjectId() == null ? new StringObjectId(jobEntry.getName()) : jobEntry.getObjectId(); JobEntryInterface jobEntryInterface = jobEntry.getEntry(); JobEntryBase jobEntryBase = getJobEntryBase(jobEntryInterface); Job job = new Job(null, meta); jobEntryBase.setParentJob(job);//www . j a v a2 s.c om jobEntryInterface.setObjectId(entryId); try { jobEntryInterface.saveRep(repo, null, jobId); } catch (KettleException e) { LOGGER.warn(Messages.getString("INFO.Serialization.Trans.Step", jobEntry.getName()), e); } json.writeObject(jobEntryBase); } json.writeEndArray(); }
From source file:io.gravitee.definition.jackson.datatype.api.ser.ApiSerializer.java
@Override public void serialize(Api api, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject();//from w w w . ja v a 2s. c o m jgen.writeStringField("id", api.getId()); jgen.writeStringField("name", api.getName()); jgen.writeObjectField("version", api.getVersion()); if (api.getProxy() != null) { jgen.writeObjectField("proxy", api.getProxy()); } if (api.getPaths() != null) { jgen.writeObjectFieldStart("paths"); api.getPaths().forEach((s, path) -> { try { jgen.writeObjectField(s, path); } catch (IOException e) { e.printStackTrace(); } }); jgen.writeEndObject(); } if (api.getServices() != null && !api.getServices().isEmpty()) { jgen.writeObjectField("services", api.getServices()); } if (api.getResources() != null && !api.getResources().isEmpty()) { jgen.writeArrayFieldStart("resources"); for (Resource resource : api.getResources()) { jgen.writeObject(resource); } jgen.writeEndArray(); } if (api.getProperties() != null) { jgen.writeObjectFieldStart("properties"); api.getProperties().forEach((s, property) -> { try { jgen.writeObjectField(s, property); } catch (IOException e) { e.printStackTrace(); } }); jgen.writeEndObject(); } if (api.getTags() != null && !api.getTags().isEmpty()) { jgen.writeArrayFieldStart("tags"); api.getTags().forEach(tag -> { try { jgen.writeObject(tag); } catch (IOException e) { e.printStackTrace(); } }); jgen.writeEndArray(); } jgen.writeEndObject(); }
From source file:org.teiid.olingo.TeiidODataJsonSerializer.java
public SerializerResult complexCollection(final ServiceMetadata metadata, final List<List<ComplexReturnType>> result, final ContextURL contextURL, final URI nextLink) throws SerializerException { CircleStreamBuffer buffer = new CircleStreamBuffer(); try {/*from ww w . ja va 2s .co m*/ JsonGenerator json = new JsonFactory().createGenerator(buffer.getOutputStream()); json.writeStartObject(); if (contextURL != null && (isODataMetadataFull || !isODataMetadataNone)) { json.writeStringField(Constants.JSON_CONTEXT, ContextURLBuilder.create(contextURL).toASCIIString()); } json.writeFieldName(Constants.VALUE); json.writeStartArray(); for (List<ComplexReturnType> ct : result) { json.writeStartObject(); for (final ComplexReturnType type : ct) { if (!type.isExpand()) { json.writeStringField(type.getName() + Constants.JSON_NAVIGATION_LINK, type.getEntity().getId().toASCIIString()); } else { json.writeFieldName(type.getName()); writeEntity(metadata, type.getEdmEntityType(), type.getEntity(), null, null, null, null, false, null, type.getName(), json); } } json.writeEndObject(); } json.writeEndArray(); if (nextLink != null) { json.writeStringField(Constants.JSON_NEXT_LINK, nextLink.toASCIIString()); } json.close(); } catch (final IOException | DecoderException e) { throw new SerializerException("An I/O exception occurred.", e, SerializerException.MessageKeys.IO_EXCEPTION); } return SerializerResultImpl.with().content(buffer.getInputStream()).build(); }
From source file:com.github.lynxdb.server.api.http.handlers.EpQuery.java
private void saveResponse(OutputStream _output, List<Query> _queries) throws IOException { JsonFactory jFactory = new JsonFactory(); JsonGenerator jGenerator; jGenerator = jFactory.createGenerator(_output, JsonEncoding.UTF8); jGenerator.writeStartArray();// w ww . ja va 2 s .co m for (Query q : _queries) { TimeSerie ts; ts = engine.query(q); jGenerator.writeStartObject(); jGenerator.writeStringField("metric", q.getName()); //tags jGenerator.writeObjectFieldStart("tags"); if (q.getTags() != null) { for (String tagk : q.getTags().keySet()) { jGenerator.writeStringField(tagk, q.getTags().get(tagk)); } } jGenerator.writeEndObject(); //dps jGenerator.writeObjectFieldStart("dps"); while (ts.hasNext()) { Entry e = ts.next(); jGenerator.writeNumberField(String.valueOf(e.getTime()), e.getValue()); } jGenerator.writeEndObject(); //endQuery jGenerator.writeEndObject(); } jGenerator.writeEndArray(); jGenerator.close(); _output.flush(); _output.close(); }
From source file:eu.project.ttc.engines.exporter.JsonCasExporter.java
@Override public void process(JCas aJCas) throws AnalysisEngineProcessException { /*// w ww. ja v a 2 s. c o m * Cette mthode est appele par le framework UIMA * pour chaque document de ta collection (corpus). * * Tu peux gnrer ton fichier compagnon dans cette mthode. * (Je te donne l'astuce pour retrouver le nom et le chemin du fichier * de ton corpus correspondant au CAS pass en paramtre de cette * mthode plus tard) */ FSIterator<Annotation> it = aJCas.getAnnotationIndex().iterator(); Annotation a; JsonFactory jsonFactory = new JsonFactory(); String name = this.getExportFilePath(aJCas, "json"); File file = new File(this.directoryFile, name); FileWriter writer = null; try { writer = new FileWriter(file); LOGGER.debug("Writing " + file.getPath()); JsonGenerator jg = jsonFactory.createGenerator(writer); jg.useDefaultPrettyPrinter(); jg.writeStartObject(); jg.writeStringField("file", name); jg.writeArrayFieldStart("tag"); while (it.hasNext()) { a = it.next(); if (a instanceof WordAnnotation) { jg.writeStartObject(); WordAnnotation wordAnno = (WordAnnotation) a; for (Feature feat : wordAnno.getType().getFeatures()) { FeatureStructure featureValue = wordAnno.getFeatureValue(feat); if (featureValue != null) { jg.writeFieldName(feat.getName()); jg.writeObject(featureValue); } } jg.writeStringField("tag", wordAnno.getTag()); jg.writeStringField("lemma", wordAnno.getLemma()); jg.writeNumberField("begin", wordAnno.getBegin()); jg.writeNumberField("end", wordAnno.getEnd()); jg.writeEndObject(); } } jg.writeEndArray(); jg.writeEndObject(); jg.flush(); writer.close(); } catch (IOException e) { LOGGER.error("Failure while serializing " + name + "\nCaused by" + e.getClass().getCanonicalName() + ":" + e.getMessage(), e); } }