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:piazza.services.ingest.util.GeoJsonSerializer.java

private void writePolygon(JsonGenerator jgen, Polygon value) throws IOException {
    jgen.writeStartObject();
    jgen.writeStringField("type", "Polygon");
    jgen.writeFieldName("coordinates");
    writePolygonCoordinates(jgen, value);

    jgen.writeEndObject();//from   w ww  .  j  av a 2s  .c om
}

From source file:name.osipov.alexey.server.ServerHandler.java

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws IOException {
    if (msg instanceof HttpRequest) {
        HttpRequest req = (HttpRequest) msg;

        if (HttpHeaders.is100ContinueExpected(req)) {
            ctx.write(new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE));
            return;
        }//from ww w. j ava  2 s  . co  m

        //String passkey = req.headers().get("passkey");

        // in case of large output this buffer will demand memory
        // writing directly to channel maybe more efficient...
        ByteBufOutputStream bufstream = new ByteBufOutputStream(Unpooled.buffer());
        JsonGenerator json = new JsonFactory().createGenerator(bufstream);
        json.writeStartObject();

        HttpResponseStatus status = HttpResponseStatus.INTERNAL_SERVER_ERROR;

        switch (req.getUri()) {
        case "/register": {
            User u = users.Register();
            json.writeNumberField("id", u.getId());
            json.writeBinaryField("key", u.getKey().asBinary());
            status = HttpResponseStatus.OK;
        }
            break;

        case "/statistics": {
            String hashed_key_base64 = req.headers().get("key");
            byte[] hashed_key = Base64.decodeBase64(hashed_key_base64);
            long salt = System.currentTimeMillis() / 1000 / 30;
            User u = users.getBySaltedHash(hashed_key, salt);
            if (u != null) {
                u.requestHappen();
                json.writeNumberField("id", u.getId());
                json.writeNumberField("requests", u.getRequests());
                status = HttpResponseStatus.OK;
            } else
                status = HttpResponseStatus.UNAUTHORIZED;
        }
            break;
        }

        json.writeEndObject();
        json.close();

        FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status,
                bufstream.buffer());
        response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain");
        response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, response.content().readableBytes());

        if (!HttpHeaders.isKeepAlive(req)) {
            ctx.write(response).addListener(ChannelFutureListener.CLOSE);
        } else {
            response.headers().set(HttpHeaders.Names.CONNECTION, Values.KEEP_ALIVE);
            ctx.write(response);
        }
    }
}

From source file:com.cedarsoft.couchdb.io.ViewResponseSerializer.java

public <K, V> void serialize(@Nonnull ViewResponse<K, V, ?> viewResponse,
        @Nonnull JacksonSerializer<? super K> keySerializer,
        @Nonnull JacksonSerializer<? super V> valueSerializer, @Nonnull OutputStream out) throws IOException {
    JsonFactory jsonFactory = JacksonSupport.getJsonFactory();
    JsonGenerator generator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8);

    generator.writeStartObject();

    generator.writeNumberField(PROPERTY_TOTAL_ROWS, viewResponse.getTotalRows());
    generator.writeNumberField(PROPERTY_OFFSET, viewResponse.getOffset());

    //Now the rows
    generator.writeFieldName(PROPERTY_ROWS);
    generator.writeStartArray();//  w w  w .  j  a  v  a 2s .  c  o  m

    for (Row<K, V, ?> row : viewResponse.getRows()) {
        rowSerializer.serialize(row, keySerializer, valueSerializer, generator);
    }

    generator.writeEndArray();

    generator.writeEndObject();
    generator.close();
}

From source file:com.github.fge.jsonpatch.mergepatch.ObjectMergePatch.java

@Override
public void serialize(final JsonGenerator jgen, final SerializerProvider provider)
        throws IOException, JsonProcessingException {
    jgen.writeStartObject();

    /*/*from   www. java  2s . c  o m*/
     * Write removed members as JSON nulls
     */
    for (final String member : removedMembers)
        jgen.writeNullField(member);

    /*
     * Write modified members; delegate to serialization for writing values
     */
    for (final Map.Entry<String, JsonMergePatch> entry : modifiedMembers.entrySet()) {
        jgen.writeFieldName(entry.getKey());
        entry.getValue().serialize(jgen, provider);
    }

    jgen.writeEndObject();
}

From source file:com.navercorp.pinpoint.web.view.ApplicationAgentHostListSerializer.java

private void writeApplicationList(ApplicationAgentHostList applicationAgentHostList,
        JsonGenerator jsonGenerator) throws IOException {
    for (Map.Entry<String, List<AgentInfo>> e : applicationAgentHostList.getMap().entrySet()) {
        jsonGenerator.writeStartObject();
        writeApplication(e.getKey(), e.getValue(), jsonGenerator);
        jsonGenerator.writeEndObject();//from  ww w .ja  va 2s. c  om
    }

}

From source file:net.opentsdb.contrib.tsquare.web.view.GraphiteJsonResponseWriter.java

@Override
public void write(final AnnotatedDataPoints annotatedPoints, final ResponseContext context) throws IOException {
    final JsonGenerator jsonGenerator = getJsonGenerator(context);

    jsonGenerator.writeStartObject();
    jsonGenerator.writeStringField("target", annotatedPoints.getDataPoints().metricName());

    if (includeAllTags) {
        jsonGenerator.writeArrayFieldStart("tags");
        for (final Map.Entry<String, String> entry : annotatedPoints.getDataPoints().getTags().entrySet()) {
            jsonGenerator.writeStartObject();
            jsonGenerator.writeStringField("key", entry.getKey());
            jsonGenerator.writeStringField("value", entry.getValue());
            jsonGenerator.writeEndObject();
        }//w w  w .j a  va  2 s . c om
        jsonGenerator.writeEndArray();
    }

    if (includeAggregatedTags) {
        jsonGenerator.writeArrayFieldStart("aggregatedTags");
        for (final String tag : annotatedPoints.getDataPoints().getAggregatedTags()) {
            jsonGenerator.writeString(tag);
        }
        jsonGenerator.writeEndArray();
    }

    if (summarize) {
        final DataPointsAsDoubles doubles = new DataPointsAsDoubles(annotatedPoints.getDataPoints());
        final double aggValue = Aggregators.SUM.runDouble(doubles);
        jsonGenerator.writeNumberField("summarizedValue", aggValue);
    } else {
        jsonGenerator.writeArrayFieldStart("datapoints");

        for (final DataPoint p : annotatedPoints.getDataPoints()) {
            jsonGenerator.writeStartArray();

            if (p.isInteger()) {
                jsonGenerator.writeNumber(p.longValue());
            } else {
                jsonGenerator.writeNumber(p.doubleValue());
            }

            if (isMillisecondResolution()) {
                jsonGenerator.writeNumber(p.timestamp());
            } else {
                jsonGenerator.writeNumber(TimeUnit.MILLISECONDS.toSeconds(p.timestamp()));
            }

            jsonGenerator.writeEndArray();
        }

        jsonGenerator.writeEndArray();
    }

    jsonGenerator.writeEndObject();
}

From source file:org.n52.ar.layar.LayarResponse.java

public void toJSON(final JsonGenerator generator) throws IOException {
    generator.writeStartObject();

    /*//from w  w w. jav a2 s.  c om
     * mandatory:
     */
    generator.writeStringField("layer", this.layer);
    if (this.errorCode != CODE_ERROR && this.hotspots.size() < 1) {
        this.errorString = "No POI found. Please increase the search range to try again.";
        this.errorCode = CODE_ERROR;
    }
    generator.writeStringField("errorString", this.errorString);
    generator.writeNumberField("errorCode", this.errorCode);

    // paging is not implemented yet
    generator.writeBooleanField("morePages", this.morePages);
    if (this.nextPageKey != null) {
        generator.writeStringField("nextPageKey", this.nextPageKey);
    } else {
        generator.writeNullField("nextPageKey");
    }
    // generator.writeNumberField("refreshInterval", 3600);
    // generator.writeNumberField("refreshDistance", 50);
    // generator.writeBooleanField("fullRefresh", false);
    // actions for the entire layer: http://layar.com/documentation/browser/api/getpois-response/actions/
    if (this.errorCode == CODE_OK)
        this.showMessage = "You got " + this.hotspots.size() + " hits in the area around you!";
    generator.writeStringField("showMessage", this.showMessage);
    // deletedHotspots
    // animations
    // showDialog: title, description, iconURL, actions
    generator.writeNullField("biwStyle");

    /*
     * hotspots (mandatory):
     */
    createHotspots(generator);

    generator.writeEndObject();
}

From source file:com.cedarsoft.serialization.test.performance.Bson4JacksonTest.java

@Test
public void testIt() throws IOException {
    FileType fileType = new FileType("Canon Raw", new Extension(".", "cr2", true), false);

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    JsonGenerator generator = jsonFactory.createGenerator(out, JsonEncoding.UTF8);

    generator.writeStartObject();
    generator.writeStringField("id", fileType.getId());
    generator.writeBooleanField("dependent", fileType.isDependent());

    generator.writeFieldName("extension");
    generator.writeStartObject();/*from   w ww.  j a va 2 s.  c om*/

    generator.writeStringField("extension", fileType.getExtension().getExtension());
    generator.writeBooleanField("default", fileType.getExtension().isDefault());
    generator.writeStringField("delimiter", fileType.getExtension().getDelimiter());

    generator.writeEndObject();

    //    generator.writeFieldName( "id" );
    //    generator.writeString( fileType.getId() );

    generator.writeEndObject();

    generator.close();
    assertEquals(BSON, Hex.encodeHexString(out.toByteArray()));
}

From source file:piazza.services.ingest.util.GeoJsonSerializer.java

private void writeMultiPoint(JsonGenerator jgen, MultiPoint value) throws IOException {
    jgen.writeStartObject();
    jgen.writeStringField("type", "MultiPoint");
    jgen.writeArrayFieldStart("coordinates");

    for (int i = 0; i != value.getNumGeometries(); ++i) {
        writePointCoords(jgen, (Point) value.getGeometryN(i));
    }/*w w  w.  j  a  v  a 2  s .com*/

    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:piazza.services.ingest.util.GeoJsonSerializer.java

private void writeLineString(JsonGenerator jgen, LineString lineString) throws IOException {
    jgen.writeStartObject();
    jgen.writeStringField("type", "LineString");
    jgen.writeFieldName("coordinates");
    writeLineStringCoords(jgen, lineString);
    jgen.writeEndObject();/* w ww . j  ava2  s. co m*/
}