List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject
public abstract void writeStartObject() throws IOException, JsonGenerationException;
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*/ }