com.fasterxml.jackson.core.JsonGenerator#writeStartObject ( )源码实例Demo

下面列出了com.fasterxml.jackson.core.JsonGenerator#writeStartObject ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: youkefu   文件: UKResultMapper.java
private String buildJSONFromFields(Collection<SearchHitField> values) {
	JsonFactory nodeFactory = new JsonFactory();
	try {
		ByteArrayOutputStream stream = new ByteArrayOutputStream();
		JsonGenerator generator = nodeFactory.createGenerator(stream, JsonEncoding.UTF8);
		generator.writeStartObject();
		for (SearchHitField value : values) {
			if (value.getValues().size() > 1) {
				generator.writeArrayFieldStart(value.getName());
				for (Object val : value.getValues()) {
					generator.writeObject(val);
				}
				generator.writeEndArray();
			} else {
				generator.writeObjectField(value.getName(), value.getValue());
			}
		}
		generator.writeEndObject();
		generator.flush();
		return new String(stream.toByteArray(), Charset.forName("UTF-8"));
	} catch (IOException e) {
		return null;
	}
}
 
源代码2 项目: kripton   文件: Bean8BindMap.java
@Override
public int serializeOnJackson(Bean8 object, JsonGenerator jacksonSerializer) throws Exception {
  jacksonSerializer.writeStartObject();
  int fieldCount=0;

  // Serialized Field:

  // field id (mapped with "id")
  fieldCount++;
  jacksonSerializer.writeNumberField("id", object.id);

  // field ignore2 (mapped with "ignore2")
  if (object.ignore2!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("ignore2", object.ignore2);
  }

  jacksonSerializer.writeEndObject();
  return fieldCount;
}
 
源代码3 项目: usergrid   文件: CoordinatedClusterSerializer.java
@Override
public void serialize( final ICoordinatedCluster value, final JsonGenerator jgen,
                       final SerializerProvider provider ) throws IOException {

    jgen.writeStartObject();

    jgen.writeStringField( NAME, value.getName() );
    jgen.writeNumberField( SIZE, value.getSize() );
    jgen.writeObjectField( INSTANCE_SPEC, value.getInstanceSpec() );

    jgen.writeArrayFieldStart( INSTANCES );

    for( Instance instance: value.getInstances() ) {
        jgen.writeObject( instance );
    }

    jgen.writeEndArray();

    jgen.writeEndObject();
}
 
源代码4 项目: olingo-odata4   文件: JsonDeltaSerializer.java
private void writeComplexCollection(final ServiceMetadata metadata, final EdmComplexType type,
    final Property property,
    final Set<List<String>> selectedPaths, final JsonGenerator json)
    throws IOException, SerializerException {
  json.writeStartArray();
  for (Object value : property.asCollection()) {
    switch (property.getValueType()) {
    case COLLECTION_COMPLEX:
      json.writeStartObject();
      if (isODataMetadataFull) {
        json.writeStringField(Constants.JSON_TYPE, "#" +
            type.getFullQualifiedName().getFullQualifiedNameAsString());
      }
      writeComplexValue(metadata, type, ((ComplexValue) value).getValue(), selectedPaths, json);
      json.writeEndObject();
      break;
    default:
      throw new SerializerException("Property type not yet supported!",
          SerializerException.MessageKeys.UNSUPPORTED_PROPERTY_TYPE, property.getName());
    }
  }
  json.writeEndArray();
}
 
源代码5 项目: pegasus   文件: ReplicaLocation.java
/**
 * Serializes contents into YAML representation Sample representation below
 *
 * <pre>
 * lfn: "f2"
 * pfns:
 *   -
 *     pfn: "file:///path/to/file"
 *     site: "local"
 *   -
 *     pfn: "file:///path/to/file"
 *     site: "condorpool"
 * checksum:
 *   sha256: "991232132abc"
 * metadata:
 *   owner: "pegasus"
 *   abc: "123"
 *   size: "1024"
 *   k: "v"
 * </pre>
 *
 * @param r;
 * @param gen
 * @param sp
 * @throws IOException
 */
public void serialize(ReplicaLocation rl, JsonGenerator gen, SerializerProvider sp)
        throws IOException {
    gen.writeStartObject();
    writeStringField(gen, ReplicaCatalogKeywords.LFN.getReservedName(), rl.getLFN());
    if (rl.isRegex()) {
        writeStringField(gen, ReplicaCatalogKeywords.REGEX.getReservedName(), "true");
    }
    if (rl.getPFNCount() > 0) {
        gen.writeArrayFieldStart(ReplicaCatalogKeywords.PFNS.getReservedName());
        for (ReplicaCatalogEntry rce : rl.getPFNList()) {
            gen.writeStartObject();
            // we don't quote or escape anything as serializer
            // always adds enclosing quotes
            writeStringField(
                    gen, ReplicaCatalogKeywords.PFN.getReservedName(), rce.getPFN());
            writeStringField(
                    gen,
                    ReplicaCatalogKeywords.SITE.getReservedName(),
                    rce.getResourceHandle());
            gen.writeEndObject();
        }
        gen.writeEndArray();
    }
    Metadata m = rl.getAllMetadata();
    if (m != null && !m.isEmpty()) {
        gen.writeObject(m);
    }

    gen.writeEndObject();
}
 
源代码6 项目: OpenLabeler   文件: ExportCOCOController.java
private void writeAnnotation(JsonGenerator writer, ObjectModel model, int id, int imageId, Map<String, Integer> categoryMap) throws IOException {
   writer.writeStartObject();
   writer.writeNumberField("id", id);

   // Resolve categories and category IDs
   var category = model.getName();
   var categoryId = categoryMap.get(category);
   if (categoryId == null) {
      categoryId = categoryMap.entrySet().size() + 1;
      categoryMap.put(category, categoryId);
   }
   writer.writeNumberField("category_id", categoryId);

   writer.writeNumberField("image_id", imageId);
   writer.writeNumberField("iscrowd", 0);

   BoundBox bb = model.getBoundBox();
   writer.writeArrayFieldStart("segmentation");
   double[] points = new double[]{bb.getXMin(), bb.getYMin(), bb.getXMax(), bb.getYMax()};
   if (model.getPolygon() != null) {
      points = model.getPolygon().stream().mapToDouble(Double::doubleValue).toArray();
   }
   writer.writeArray(points, 0, points.length);
   writer.writeEndArray();

   writer.writeNumberField("area", model.area());
   writer.writeObjectField("bbox", new double[]{bb.getX(), bb.getY(), bb.getWidth(), bb.getHeight()});

   writer.writeEndObject();
}
 
源代码7 项目: kripton   文件: BeanTable.java
/**
 * for attribute valueEnumTypeSet serialization
 */
public static byte[] serializeValueEnumTypeSet(HashSet<EnumType> value) {
  if (value==null) {
    return null;
  }
  KriptonJsonContext context=KriptonBinder.jsonBind();
  try (KriptonByteArrayOutputStream stream=new KriptonByteArrayOutputStream(); JacksonWrapperSerializer wrapper=context.createSerializer(stream)) {
    JsonGenerator jacksonSerializer=wrapper.jacksonGenerator;
    jacksonSerializer.writeStartObject();
    int fieldCount=0;
    if (value!=null)  {
      fieldCount++;
      // write wrapper tag
      jacksonSerializer.writeFieldName("element");
      jacksonSerializer.writeStartArray();
      for (EnumType item: value) {
        if (item==null) {
          jacksonSerializer.writeNull();
        } else {
          jacksonSerializer.writeString(item.toString());
        }
      }
      jacksonSerializer.writeEndArray();
    }
    jacksonSerializer.writeEndObject();
    jacksonSerializer.flush();
    return stream.toByteArray();
  } catch(Exception e) {
    e.printStackTrace();
    throw(new KriptonRuntimeException(e.getMessage()));
  }
}
 
源代码8 项目: beakerx   文件: BufferedImageSerializer.java
@Override
public void serialize(BufferedImage v, JsonGenerator jgen, SerializerProvider provider)
    throws IOException, JsonProcessingException {
  synchronized(v) {
    byte [] data = Images.encode(v);
    jgen.writeStartObject();
    jgen.writeStringField("type",  "ImageIcon");
    jgen.writeObjectField("imageData", data);
    jgen.writeNumberField("width", v.getWidth());
    jgen.writeNumberField("height", v.getHeight());
    jgen.writeEndObject();
  }
}
 
源代码9 项目: rdf4j   文件: RDFJSONWriter.java
/**
 * Helper method to reduce complexity of the JSON serialisation algorithm Any null contexts will only be serialised
 * to JSON if there are also non-null contexts in the contexts array
 *
 * @param object   The RDF value to serialise
 * @param contexts The set of contexts that are relevant to this object, including null contexts as they are found.
 * @param jg       the {@link JsonGenerator} to write to.
 * @throws IOException
 * @throws JsonGenerationException
 * @throws JSONException
 */
public static void writeObject(final Value object, final Set<Resource> contexts, final JsonGenerator jg)
		throws JsonGenerationException, IOException {
	jg.writeStartObject();
	if (object instanceof Literal) {
		jg.writeObjectField(RDFJSONUtility.VALUE, object.stringValue());

		jg.writeObjectField(RDFJSONUtility.TYPE, RDFJSONUtility.LITERAL);
		final Literal l = (Literal) object;

		if (Literals.isLanguageLiteral(l)) {
			jg.writeObjectField(RDFJSONUtility.LANG, l.getLanguage().orElse(null));
		} else {
			jg.writeObjectField(RDFJSONUtility.DATATYPE, l.getDatatype().stringValue());
		}
	} else if (object instanceof BNode) {
		jg.writeObjectField(RDFJSONUtility.VALUE, resourceToString((BNode) object));

		jg.writeObjectField(RDFJSONUtility.TYPE, RDFJSONUtility.BNODE);
	} else if (object instanceof IRI) {
		jg.writeObjectField(RDFJSONUtility.VALUE, resourceToString((IRI) object));

		jg.writeObjectField(RDFJSONUtility.TYPE, RDFJSONUtility.URI);
	}

	if (contexts != null && !contexts.isEmpty() && !(contexts.size() == 1 && contexts.iterator().next() == null)) {
		jg.writeArrayFieldStart(RDFJSONUtility.GRAPHS);
		for (final Resource nextContext : contexts) {
			if (nextContext == null) {
				jg.writeNull();
			} else {
				jg.writeString(resourceToString(nextContext));
			}
		}
		jg.writeEndArray();
	}

	jg.writeEndObject();
}
 
源代码10 项目: kripton   文件: ByteDaoImpl.java
/**
 * for param serializer2 serialization
 */
private byte[] serializer2(List<Byte> value) {
  if (value==null) {
    return null;
  }
  KriptonJsonContext context=KriptonBinder.jsonBind();
  try (KriptonByteArrayOutputStream stream=new KriptonByteArrayOutputStream(); JacksonWrapperSerializer wrapper=context.createSerializer(stream)) {
    JsonGenerator jacksonSerializer=wrapper.jacksonGenerator;
    int fieldCount=0;
    jacksonSerializer.writeStartObject();
    if (value!=null)  {
      int n=value.size();
      Byte item;
      // write wrapper tag
      jacksonSerializer.writeFieldName("element");
      jacksonSerializer.writeStartArray();
      for (int i=0; i<n; i++) {
        item=value.get(i);
        if (item==null) {
          jacksonSerializer.writeNull();
        } else {
          jacksonSerializer.writeNumber(item);
        }
      }
      jacksonSerializer.writeEndArray();
    }
    jacksonSerializer.writeEndObject();
    jacksonSerializer.flush();
    return stream.toByteArray();
  } catch(Exception e) {
    e.printStackTrace();
    throw(new KriptonRuntimeException(e.getMessage()));
  }
}
 
源代码11 项目: centraldogma   文件: SafeReplaceOperation.java
@Override
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException {
    gen.writeStartObject();
    gen.writeStringField("op", op);
    gen.writeStringField("path", path.toString());
    gen.writeFieldName("oldValue");
    gen.writeTree(oldValue);
    gen.writeFieldName("value");
    gen.writeTree(newValue);
    gen.writeEndObject();
}
 
源代码12 项目: crate   文件: HttpTestServer.java
private void handleHttpRequest(ChannelHandlerContext ctx, HttpRequest msg) throws UnsupportedEncodingException {
    String uri = msg.uri();
    QueryStringDecoder decoder = new QueryStringDecoder(uri);
    logger.debug("Got Request for " + uri);
    HttpResponseStatus status = fail ? HttpResponseStatus.BAD_REQUEST : HttpResponseStatus.OK;

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    try {
        JsonGenerator generator = jsonFactory.createGenerator(out, JsonEncoding.UTF8);
        generator.writeStartObject();
        for (Map.Entry<String, List<String>> entry : decoder.parameters().entrySet()) {
            if (entry.getValue().size() == 1) {
                generator.writeStringField(entry.getKey(), URLDecoder.decode(entry.getValue().get(0), "UTF-8"));
            } else {
                generator.writeArrayFieldStart(entry.getKey());
                for (String value : entry.getValue()) {
                    generator.writeString(URLDecoder.decode(value, "UTF-8"));
                }
                generator.writeEndArray();
            }
        }
        generator.writeEndObject();
        generator.close();

    } catch (Exception ex) {
        status = HttpResponseStatus.INTERNAL_SERVER_ERROR;
    }
    ByteBuf byteBuf = Unpooled.wrappedBuffer(out.toByteArray());
    responses.add(out.toString(StandardCharsets.UTF_8.name()));

    DefaultFullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, byteBuf);
    ChannelFuture future = ctx.channel().writeAndFlush(response);
    future.addListener(ChannelFutureListener.CLOSE);
}
 
源代码13 项目: kripton   文件: Bean2Table.java
/**
 * for attribute valueCharacterSet serialization
 */
public static byte[] serializeValueCharacterSet(Set<Character> value) {
  if (value==null) {
    return null;
  }
  KriptonJsonContext context=KriptonBinder.jsonBind();
  try (KriptonByteArrayOutputStream stream=new KriptonByteArrayOutputStream(); JacksonWrapperSerializer wrapper=context.createSerializer(stream)) {
    JsonGenerator jacksonSerializer=wrapper.jacksonGenerator;
    jacksonSerializer.writeStartObject();
    int fieldCount=0;
    if (value!=null)  {
      fieldCount++;
      // write wrapper tag
      jacksonSerializer.writeFieldName("element");
      jacksonSerializer.writeStartArray();
      for (Character item: value) {
        if (item==null) {
          jacksonSerializer.writeNull();
        } else {
          jacksonSerializer.writeNumber(item);
        }
      }
      jacksonSerializer.writeEndArray();
    }
    jacksonSerializer.writeEndObject();
    jacksonSerializer.flush();
    return stream.toByteArray();
  } catch(Exception e) {
    e.printStackTrace();
    throw(new KriptonRuntimeException(e.getMessage()));
  }
}
 
源代码14 项目: cloudstack   文件: UriSerializer.java
@Override
public void serialize(String id, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
    jgen.writeStartObject();
    jgen.writeStringField("id", id);
    jgen.writeFieldName("uri");
    jgen.writeString(buildUri(_annotation.clazz(), _annotation.method(), id));
    jgen.writeEndObject();
}
 
源代码15 项目: vespa   文件: JRTServerConfigRequestV3.java
@Override
public void addErrorResponse(int errorCode, String name) {
    ByteArrayOutputStream byteArrayOutputStream = new NoCopyByteArrayOutputStream();
    try {
        JsonGenerator jsonWriter = jsonFactory.createGenerator(byteArrayOutputStream);
        jsonWriter.writeStartObject();
        addCommonReturnValues(jsonWriter);
        jsonWriter.writeEndObject();
        jsonWriter.close();
    } catch (IOException e) {
        throw new IllegalArgumentException("Could not add error response for " + this);
    }
    request.setError(errorCode, name);
    request.returnValues().add(createResponseValue(byteArrayOutputStream));
}
 
源代码16 项目: Quicksql   文件: ExtractionDimensionSpec.java
@Override public void write(JsonGenerator generator) throws IOException {
  generator.writeStartObject();
  generator.writeStringField("type", "extraction");
  generator.writeStringField("dimension", dimension);
  writeFieldIf(generator, "outputName", outputName);
  writeField(generator, "extractionFn", extractionFunction);
  generator.writeEndObject();
}
 
源代码17 项目: kripton   文件: Bean93BindMap.java
@Override
public int serializeOnJacksonAsString(Bean93 object, JsonGenerator jacksonSerializer) throws
    Exception {
  jacksonSerializer.writeStartObject();
  int fieldCount=0;

  // Serialized Field:

  // field id (mapped with "id")
  jacksonSerializer.writeStringField("id", PrimitiveUtils.writeLong(object.id));

  // field name (mapped with "name")
  if (object.name!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("name", object.name);
  }

  // field surname (mapped with "surname")
  if (object.surname!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("surname", object.surname);
  }

  // field typeName (mapped with "typeName")
  if (object.typeName!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("typeName", object.typeName);
  }

  jacksonSerializer.writeEndObject();
  return fieldCount;
}
 
源代码18 项目: kripton   文件: CharBeanTable.java
/**
 * for attribute value2 serialization
 */
public static byte[] serializeValue2(Character[] value) {
  if (value==null) {
    return null;
  }
  KriptonJsonContext context=KriptonBinder.jsonBind();
  try (KriptonByteArrayOutputStream stream=new KriptonByteArrayOutputStream(); JacksonWrapperSerializer wrapper=context.createSerializer(stream)) {
    JsonGenerator jacksonSerializer=wrapper.jacksonGenerator;
    jacksonSerializer.writeStartObject();
    int fieldCount=0;
    if (value!=null)  {
      fieldCount++;
      int n=value.length;
      Character item;
      // write wrapper tag
      jacksonSerializer.writeFieldName("element");
      jacksonSerializer.writeStartArray();
      for (int i=0; i<n; i++) {
        item=value[i];
        if (item==null) {
          jacksonSerializer.writeNull();
        } else {
          jacksonSerializer.writeNumber(item);
        }
      }
      jacksonSerializer.writeEndArray();
    }
    jacksonSerializer.writeEndObject();
    jacksonSerializer.flush();
    return stream.toByteArray();
  } catch(Exception e) {
    e.printStackTrace();
    throw(new KriptonRuntimeException(e.getMessage()));
  }
}
 
@Override
public void jackson(JsonGenerator j, Users obj) throws IOException {
    j.writeStartObject();
    if (obj.users != null) {
        j.writeFieldName("users");
        j.writeStartArray();
        for (User u : obj.users) {
            jackson(j, u);
        }
        j.writeEndArray();
    }
    j.writeEndObject();
}
 
源代码20 项目: kripton   文件: CountryBindMap.java
@Override
public int serializeOnJacksonAsString(Country object, JsonGenerator jacksonSerializer) throws
    Exception {
  jacksonSerializer.writeStartObject();
  int fieldCount=0;

  // Serialized Field:

  // field area (mapped with "area")
  jacksonSerializer.writeStringField("area", PrimitiveUtils.writeLong(object.area));

  // field callingCode (mapped with "callingCode")
  if (object.callingCode!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("callingCode", object.callingCode);
  }

  // field code (mapped with "code")
  if (object.code!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("code", object.code);
  }

  // field id (mapped with "id")
  jacksonSerializer.writeStringField("id", PrimitiveUtils.writeLong(object.id));

  // field name (mapped with "name")
  if (object.name!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("name", object.name);
  }

  // field region (mapped with "region")
  if (object.region!=null)  {
    fieldCount++;
    jacksonSerializer.writeStringField("region", object.region);
  }

  // field translatedName (mapped with "translatedName")
  if (object.translatedName!=null)  {
    fieldCount++;
    // write wrapper tag
    if (object.translatedName.size()>0) {
      jacksonSerializer.writeFieldName("translatedName");
      jacksonSerializer.writeStartArray();
      for (Map.Entry<Translation, String> item: object.translatedName.entrySet()) {
        jacksonSerializer.writeStartObject();
        jacksonSerializer.writeStringField("key", item.getKey().toString());
        if (item.getValue()==null) {
          jacksonSerializer.writeStringField("value", "null");
        } else {
          jacksonSerializer.writeStringField("value", item.getValue());
        }
        jacksonSerializer.writeEndObject();
      }
      jacksonSerializer.writeEndArray();
    } else {
      jacksonSerializer.writeStringField("translatedName", "null");
    }
  }

  jacksonSerializer.writeEndObject();
  return fieldCount;
}