List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject
public abstract void writeStartObject() throws IOException, JsonGenerationException;
From source file:javasnack.snacks.json.PojoEncodeJackson.java
@Override public void run() { ObjectMapper objectMapper = new ObjectMapper(); try {//from ww w .j av a 2s . c om String jsonout = objectMapper.writeValueAsString(new EncodePojo()); System.out.println("--- simple jackson encode ---"); System.out.println(jsonout); String jsonout2 = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(new EncodePojo()); System.out.println("--- default pretty-print jackson encode ---"); System.out.println(jsonout2); System.out.println("--- streaming jackson encode ---"); JsonFactory jsonFactory = objectMapper.getFactory(); Writer out = new OutputStreamWriter(System.out); JsonGenerator jg = jsonFactory.createGenerator(out); jg.setPrettyPrinter(new DefaultPrettyPrinter()); jg.writeStartObject(); jg.writeStringField("message", "success"); jg.writeNumberField("count", 10); jg.writeArrayFieldStart("records"); for (int i = 0; i < 10; i++) { jg.writeObject(new EncodePojo()); Thread.sleep(100); jg.flush(); } jg.writeEndArray(); jg.writeEndObject(); jg.close(); } catch (JsonProcessingException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
From source file:net.logstash.logback.marker.RawJsonAppendingMarkerTest.java
@Test public void testWriteTo() throws IOException { String rawJson = "{\"myField\":\"value\"}"; StringWriter writer = new StringWriter(); JsonGenerator generator = FACTORY.createGenerator(writer); LogstashMarker marker = Markers.appendRaw("rawJson", rawJson); generator.writeStartObject(); marker.writeTo(generator);/*from w w w . j a v a2s. com*/ generator.writeEndObject(); generator.flush(); assertThat(writer.toString()).isEqualTo("{\"rawJson\":{\"myField\":\"value\"}}"); }
From source file:de.terrestris.shogun.security.ShogunAuthProcessingFilter.java
/** * On successful authentication by an Authentication Manager of Spring Security * we intercept with this method and change the respone to include the ROLES of * the logged in user./*w ww.j av a 2s . co m*/ * This way we can react on the ROLES and redirect accordingly within the requesting login form (here login.js) * * @see WebContent/client/login.js */ @Override protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, Authentication authResult) throws IOException, ServletException { SecurityContextHolder.getContext().setAuthentication(authResult); SavedRequestAwareAuthenticationSuccessHandler srh = new SavedRequestAwareAuthenticationSuccessHandler(); this.setAuthenticationSuccessHandler(srh); srh.setRedirectStrategy(new RedirectStrategy() { @Override public void sendRedirect(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String s) throws IOException { //do nothing, no redirect } }); super.successfulAuthentication(request, response, authResult); // build a comma separated string of the ROLES String authorityText = StringUtils.join(authResult.getAuthorities(), ","); // write the servlet return object HttpServletResponseWrapper responseWrapper = new HttpServletResponseWrapper(response); Writer out = responseWrapper.getWriter(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(out); jsonGenerator.writeStartObject(); jsonGenerator.writeBooleanField("success", true); jsonGenerator.writeStringField("name", authResult.getName()); jsonGenerator.writeStringField("role", authorityText); jsonGenerator.writeEndObject(); jsonGenerator.close(); }
From source file:com.twosigma.beaker.chart.serializer.RastersSerializer.java
@Override public void serialize(Rasters raster, JsonGenerator jgen, SerializerProvider sp) throws IOException, JsonProcessingException { jgen.writeStartObject(); jgen.writeObjectField("type", raster.getClass().getSimpleName()); jgen.writeObjectField("x", raster.getX()); jgen.writeObjectField("y", raster.getY()); jgen.writeObjectField("opacity", raster.getOpacity()); jgen.writeObjectField("visible", raster.getVisible()); jgen.writeObjectField("yAxis", raster.getYAxis()); jgen.writeObjectField("position", raster.getPosition()); if (raster.getWidth() != null) { jgen.writeObjectField("width", raster.getWidth()); }//from w ww .j a v a2 s . c om if (raster.getHeight() != null) { jgen.writeObjectField("height", raster.getHeight()); } // datastring will override file path/url if (raster.getDataString() != null) { jgen.writeObjectField("value", Bytes2Base64(raster.getDataString(), null)); } else if (!raster.getFilePath().isEmpty()) { String path = raster.getFilePath(); byte[] picture = Files.readAllBytes(new File(path).toPath()); String extension = ""; int i = path.lastIndexOf('.'); if (i > 0) { extension = path.substring(i + 1); } jgen.writeObjectField("value", Bytes2Base64(picture, extension)); } else if (!raster.getFileUrl().isEmpty()) { jgen.writeObjectField("value", raster.getFileUrl()); } jgen.writeEndObject(); }
From source file:org.killbill.billing.plugin.meter.timeline.consumer.TimelineChunkDecoded.java
@JsonValue @Override//from w w w . ja v a 2 s . c o m public String toString() { try { final ByteArrayOutputStream out = new ByteArrayOutputStream(); final JsonGenerator generator = objectMapper.getJsonFactory().createJsonGenerator(out); generator.writeStartObject(); generator.writeFieldName("metric"); generator.writeNumber(chunk.getMetricId()); generator.writeFieldName("decodedSamples"); generator.writeString(getDecodedSamples()); generator.writeEndObject(); generator.close(); return out.toString(); } catch (IOException e) { log.error("IOException in toString()", e); } return null; }
From source file:org.numenta.nupic.algorithms.CLAClassifierSerializer.java
@Override public void serialize(CLAClassifier cla, JsonGenerator jgen, SerializerProvider arg2) throws IOException, JsonProcessingException { jgen.writeStartObject(); 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(","); }//www . j a v a 2 s .co m 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:io.gravitee.definition.jackson.datatype.api.ser.ApiSerializer.java
@Override public void serialize(Api api, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeStringField("id", api.getId()); jgen.writeStringField("name", api.getName()); jgen.writeObjectField("version", api.getVersion()); if (api.getProxy() != null) { jgen.writeObjectField("proxy", api.getProxy()); }/*from w ww . j a v a2 s . co m*/ 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:ch.ralscha.extdirectspring.util.MapActionSerializer.java
@Override public void serialize(Map<String, List<Action>> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (null != value) { jgen.writeStartObject(); for (Entry<String, List<Action>> entry : value.entrySet()) { String key = entry.getKey(); jgen.writeArrayFieldStart(key); List<Action> actions = entry.getValue(); for (Action action : actions) { // PrettyPrinter is not set the generator is on one line // mode if (jgen.getPrettyPrinter() != null && action instanceof ActionDoc) {// insertion // of // doc // here ActionDoc actionDoc = (ActionDoc) action; jgen.writeRaw("\n\t/**"); if (actionDoc.isDeprecated()) { jgen.writeRaw("\n\t* @deprecated"); }/*from www . ja v a 2 s.c o m*/ jgen.writeRaw("\n\t* " + actionDoc.getName() + ": " + actionDoc.getMethodComment()); jgen.writeRaw("\n\t* @author: " + actionDoc.getAuthor()); jgen.writeRaw("\n\t* @version: " + actionDoc.getVersion()); jgen.writeRaw("\n\t*"); for (Entry<String, String> entry2 : actionDoc.getParameters().entrySet()) { jgen.writeRaw("\n\t* @param: [" + entry2.getKey() + "] " + entry2.getValue()); } jgen.writeRaw("\n\t* @return"); for (Entry<String, String> entry2 : actionDoc.getReturnMethod().entrySet()) { jgen.writeRaw("\n\t*\t [" + entry2.getKey() + "] " + entry2.getValue()); } jgen.writeRaw("\n\t*/\n"); } jgen.writeObject(action); } jgen.writeEndArray(); } jgen.writeEndObject(); } }
From source file:org.lamop.riche.model.RelationWorkSourceSerializer.java
@Override public void serialize(RelationWorkSource t, JsonGenerator jsonGenerator, SerializerProvider sp) throws IOException, JsonProcessingException { // try { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("extract", t.getExtract()); jsonGenerator.writeStringField("nature", t.getNature()); Source source = t.getSource(); Source sourceSer = new Source(); sourceSer.setId(source.getId());/*from w w w . j av a2 s. com*/ sourceSer.setArticleTitle(source.getArticleTitle()); sourceSer.setTitle(source.getTitle()); // sourceSer.setRelationPerson(source.getRelationPerson()); jsonGenerator.writeObjectField("source", sourceSer); // WorkEntity workSer = (WorkEntity) t.getWorkEntity().clone(); WorkEntity workSer = new WorkEntity(); workSer.setId(t.getWorkEntity().getId()); workSer.setTitle(t.getWorkEntity().getTitle()); // workSer.getRelationWorkSource().clear(); // WorkEntity work = t.getWorkEntity(); // workSer.setId(work.getId()); // workSer.setTitle(work.getTitle()); jsonGenerator.writeObjectField("workEntity", workSer); jsonGenerator.writeEndObject(); // } // catch (CloneNotSupportedException ex) { // Logger.getLogger(RelationWorkSourceSerializer.class.getName()).log(Level.SEVERE, null, ex); // } }
From source file:org.mashti.jetson.json.JsonRequestEncoder.java
@Override protected void encodeRequest(final ChannelHandlerContext context, final Integer id, final Method method, final Object[] arguments, final ByteBuf out) throws RPCException { JsonGenerator generator = null; try {//from ww w. j a v a 2 s . c o m generator = createJsonGenerator(out); generator.writeStartObject(); generator.writeObjectField(ID_KEY, id); generator.writeObjectField(VERSION_KEY, DEFAULT_VERSION); generator.writeObjectField(METHOD_NAME_KEY, dispatch.get(method)); writeRequestParameters(method, arguments, generator); generator.writeEndObject(); generator.flush(); generator.close(); } catch (final JsonProcessingException e) { LOGGER.debug("failed to encode request", e); throw new InternalServerException(e); } catch (final IOException e) { LOGGER.debug("IO error occurred while encoding request", e); throw new TransportException(e); } finally { CloseableUtil.closeQuietly(generator); } }