Example usage for com.fasterxml.jackson.core JsonGenerator writeStartObject

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeStartObject.

Prototype

public abstract void writeStartObject() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing starting marker of a JSON Object value (character '{'; plus possible white space decoration if pretty-printing is enabled).

Usage

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);
    }
}