类com.fasterxml.jackson.core.JsonEncoding源码实例Demo

下面列出了怎么用com.fasterxml.jackson.core.JsonEncoding的API类实例代码及写法,或者点击链接到github查看源代码。

@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
源代码4 项目: pom-manipulation-ext   文件: JSONIO.java
public static JsonEncoding detectEncoding(File jsonFile) throws ManipulationException
{
    try ( FileInputStream in = new FileInputStream( jsonFile ) )
    {
        byte[] inputBuffer = new byte[4];
        in.read( inputBuffer );
        IOContext ctxt = new IOContext( new BufferRecycler(), null, false );
        ByteSourceJsonBootstrapper strapper = new ByteSourceJsonBootstrapper( ctxt, inputBuffer, 0,
                4 );
        JsonEncoding encoding = strapper.detectEncoding();
        logger.debug( "Detected JSON encoding {} for file {}", encoding, jsonFile );
        return encoding;
    }
    catch ( IOException e )
    {
        logger.error( "Unable to detect charset for file: {}", jsonFile, e );
        throw new ManipulationException( "Unable to detect charset for file {}", jsonFile, e );
    }
}
 
@Test
public void serialize()
        throws Exception
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);
    expected.close();

    logger.info("serialize: exit");
}
 
@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
@Test
public void serialize()
        throws IOException
{
    logger.info("serialize: enter");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    mapper.writeValue(outputStream, expected);

    String actual = new String(outputStream.toByteArray(), JsonEncoding.UTF8.getJavaName());
    logger.info("serialize: serialized text[{}]", actual);

    assertEquals(expectedSerDeText, actual);

    logger.info("serialize: exit");
}
 
源代码10 项目: vespa   文件: MockQueryHandler.java
private String getResponse(String query) throws IOException {
    List<MockQueryHit> hits = hitMap.get(query);
    if (hits == null) {
        return null;
    }

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    JsonGenerator g = new JsonFactory().createGenerator(out, JsonEncoding.UTF8);

    writeResultStart(g, hits.size());
    for (MockQueryHit hit : hits) {
        writeHit(g, hit);
    }
    writeResultsEnd(g);
    g.close();

    return out.toString();
}
 
源代码11 项目: roncoo-education   文件: ResultMapperExt.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;
	}
}
 
源代码12 项目: incubator-nemo   文件: MetricStore.java
/**
 * Dumps JSON-serialized string of all stored metric.
 *
 * @return dumped JSON string of all metric.
 * @throws IOException when failed to write file.
 */
public synchronized String dumpAllMetricToJson() throws IOException {
  final ObjectMapper objectMapper = new ObjectMapper();
  final JsonFactory jsonFactory = new JsonFactory();
  final ByteArrayOutputStream stream = new ByteArrayOutputStream();

  try (JsonGenerator jsonGenerator = jsonFactory.createGenerator(stream, JsonEncoding.UTF8)) {
    jsonGenerator.setCodec(objectMapper);

    jsonGenerator.writeStartObject();
    for (final Map.Entry<Class<? extends Metric>, Map<String, Object>> metricMapEntry : metricMap.entrySet()) {
      jsonGenerator.writeFieldName(metricMapEntry.getKey().getSimpleName());
      jsonGenerator.writeStartObject();
      for (final Map.Entry<String, Object> idToMetricEntry : metricMapEntry.getValue().entrySet()) {
        generatePreprocessedJsonFromMetricEntry(idToMetricEntry, jsonGenerator, objectMapper);
      }
      jsonGenerator.writeEndObject();
    }
    jsonGenerator.writeEndObject();
  }

  return stream.toString();
}
 
源代码13 项目: incubator-nemo   文件: MetricStore.java
/**
 * Send changed metric data to {@link MetricBroadcaster}, which will broadcast it to
 * all active WebSocket sessions. This method should be called manually if you want to
 * send changed metric data to the frontend client. Also this method is synchronized.
 *
 * @param metricClass class of the metric.
 * @param id          id of the metric.
 * @param <T>         type of the metric to broadcast
 */
public synchronized <T extends Metric> void triggerBroadcast(final Class<T> metricClass, final String id) {
  final MetricBroadcaster metricBroadcaster = MetricBroadcaster.getInstance();
  final ObjectMapper objectMapper = new ObjectMapper();
  final T metric = getMetricWithId(metricClass, id);
  final JsonFactory jsonFactory = new JsonFactory();
  final ByteArrayOutputStream stream = new ByteArrayOutputStream();
  try (JsonGenerator jsonGenerator = jsonFactory.createGenerator(stream, JsonEncoding.UTF8)) {
    jsonGenerator.setCodec(objectMapper);

    jsonGenerator.writeStartObject();
    jsonGenerator.writeFieldName("metricType");
    jsonGenerator.writeString(metricClass.getSimpleName());

    jsonGenerator.writeFieldName("data");
    jsonGenerator.writeObject(metric);
    jsonGenerator.writeEndObject();

    metricBroadcaster.broadcast(stream.toString());
  } catch (final IOException e) {
    throw new MetricException(e);
  }
}
 
源代码14 项目: ure   文件: UCartographer.java
/**
 * Persist an object to disk.  This will most likely be an area or region, but in theory you could
 * write anything that serializes properly.
 * @param object
 * @param filename
 */
public void persist(Object object, String filename) {
    String path = commander.savePath();
    if (commander.config.isPersistentAreas()) {
        File dir = new File(path);
        dir.mkdirs();
        log.info("saving file " + path + filename);
        File file = new File(path + filename);
        try (
                FileOutputStream stream = new FileOutputStream(file);
                GZIPOutputStream gzip = new GZIPOutputStream(stream)
        ) {
            JsonFactory jfactory = new JsonFactory();
            JsonGenerator jGenerator = jfactory
                    .createGenerator(gzip, JsonEncoding.UTF8);
            jGenerator.setCodec(objectMapper);
            jGenerator.writeObject(object);
            jGenerator.close();
        } catch (IOException e) {
            throw new RuntimeException("Couldn't persist object " + object.toString(), e);
        }
    }
}
 
源代码15 项目: ure   文件: UVaultSet.java
public void persist(String absoluteFilepath) {
    File file = new File(absoluteFilepath);
    try (
            FileOutputStream stream = new FileOutputStream(file);
            //GZIPOutputStream gzip = new GZIPOutputStream(stream)
    ) {
        JsonFactory jfactory = new JsonFactory();
        JsonGenerator jGenerator = jfactory
                .createGenerator(stream, JsonEncoding.UTF8);
        jGenerator.setCodec(new ObjectMapper());
        jGenerator.writeObject(this);
        jGenerator.close();
    } catch (IOException e) {
        throw new RuntimeException("Couldn't persist object " + toString(), e);
    }
}
 
源代码16 项目: ure   文件: LandedModal.java
void saveScaper(ULandscaper scaper, String filename) {
    String path = commander.savePath();
    File file = new File(path + filename);
    try (
            FileOutputStream stream = new FileOutputStream(file);
    ) {
        JsonFactory jfactory = new JsonFactory();
        JsonGenerator jGenerator = jfactory
                .createGenerator(stream, JsonEncoding.UTF8);
        jGenerator.setCodec(objectMapper);
        jGenerator.writeObject(scaper);
        jGenerator.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
源代码17 项目: act   文件: Sensor.java
private void setupFiles(String sensorReadingPath) {
  String logFilename = deviceName.concat(LOG_EXTENSION);
  Path sensorReadingDirectory = Paths.get(sensorReadingPath, sensorData.getDeviceType());
  this.sensorReadingFilePath = Paths.get(
      sensorReadingDirectory.toString(), deviceName);
  this.sensorReadingLogFilePath = Paths.get(
      sensorReadingDirectory.toString(), logFilename);
  if (!Files.exists(sensorReadingDirectory)) {
    Boolean madeDir = sensorReadingDirectory.toFile().mkdirs();
    if (!madeDir) {
      LOGGER.error("The following directory could not be accessed or created: %s", sensorReadingDirectory);
    }
  }
  try {
    this.jsonGenerator = objectMapper.getFactory().createGenerator(
        new File(sensorReadingLogFilePath.toString()), JsonEncoding.UTF8);
    this.sensorReadingTmp = File.createTempFile(sensorReadingFilePath.toString(), ".tmp");
  } catch (IOException e) {
    LOGGER.error("Error during reading/log files creation: %s", e);
    System.exit(1);
  }
}
 
源代码18 项目: oauth2-server   文件: CustomAccessDeniedHandler.java
@Override
    public void handle(HttpServletRequest request,
                       HttpServletResponse response, AccessDeniedException e) throws IOException {
        //服务器地址
        String toUrl = ClientIpUtil.getFullRequestUrl(request);
        boolean isAjax = "XMLHttpRequest".equals(request
            .getHeader("X-Requested-With")) || "apiLogin".equals(request
            .getHeader("api-login"));
        if (isAjax) {
            response.setHeader("Content-Type", "application/json;charset=UTF-8");
            try {
                ResponseResult<Object> responseMessage = new ResponseResult<>();
                responseMessage.setStatus(GlobalConstant.ERROR_DENIED);
                responseMessage.setMessage(toUrl);
                ObjectMapper objectMapper = new ObjectMapper();
                JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(response.getOutputStream(),
                    JsonEncoding.UTF8);
                objectMapper.writeValue(jsonGenerator, responseMessage);
            } catch (Exception ex) {
                throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
            }
        } else {
///            response.sendRedirect(accessDeniedUrl + "?toUrl=" + toUrl);
            response.sendRedirect(accessDeniedUrl);
        }
    }
 
@Override
public void handle(HttpServletRequest request,
                   HttpServletResponse response, AccessDeniedException e) throws IOException {

    String toUrl = ClientIpUtils.getFullRequestUrl(request);
    log.info("【" + request.getRequestURI() + "】权限不足 FORBIDDEN");
    response.setHeader("Content-Type", "application/json;charset=UTF-8");
    Map<String, Object> responseMessage = new HashMap<>(16);
    responseMessage.put("status", HttpStatus.FORBIDDEN.value());
    responseMessage.put("message", "权限不足!");
    responseMessage.put("path", toUrl);
    ObjectMapper objectMapper = new ObjectMapper();
    response.setStatus(HttpStatus.FORBIDDEN.value());
    JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(response.getOutputStream(),
        JsonEncoding.UTF8);
    objectMapper.writeValue(jsonGenerator, responseMessage);
}
 
private static JsonGenerator createGenerator(JsonFactory f, Object o) throws SAXException {
  try {
    if (o instanceof Writer) {
      return f.createGenerator((Writer)o);
    }
    if (o instanceof OutputStream) {
      return f.createGenerator((OutputStream)o);
    }
    if (o instanceof File) {
      return f.createGenerator((File)o, JsonEncoding.UTF8);
    }
    throw new RuntimeException(new OperationNotSupportedException(String.format("Object must be a Writer, OutputStream, or File, but was of class %s",
        o.getClass().getName())));
  } catch (IOException e) {
    throw new SAXException(e);
  }
}
 
源代码21 项目: extract   文件: DumpReportTask.java
/**
 * Dump the report as JSON to the given output stream.
 *
 * @param reportMap the report to dump
 * @param output the stream to dump to
 * @param match only dump matching results
 */
private void dump(final ReportMap reportMap, final OutputStream output, final ExtractionStatus match) throws
		IOException {
	final ObjectMapper mapper = new ObjectMapper();
	final SimpleModule module = new SimpleModule();

	module.addSerializer(ReportMap.class, new ReportSerializer(monitor, match));
	mapper.registerModule(module);

	try (final JsonGenerator jsonGenerator = new JsonFactory().setCodec(mapper).createGenerator(output,
			JsonEncoding.UTF8)) {
		jsonGenerator.useDefaultPrettyPrinter();
		jsonGenerator.writeObject(reportMap);
		jsonGenerator.writeRaw('\n');
	}
}
 
源代码22 项目: apicurio-registry   文件: ConfigJsServlet.java
/**
 * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String ct = "application/javascript; charset=" + StandardCharsets.UTF_8;
    response.setContentType(ct);
    JsonFactory f = new JsonFactory();
    try (JsonGenerator g = f.createGenerator(response.getOutputStream(), JsonEncoding.UTF8)) {
        response.getOutputStream().write("var ApicurioRegistryConfig = ".getBytes("UTF-8")); //$NON-NLS-1$ //$NON-NLS-2$
        ObjectMapper mapper = new ObjectMapper();
        mapper.setSerializationInclusion(Include.NON_NULL);
        g.setCodec(mapper);
        g.useDefaultPrettyPrinter();

        ConfigJs config = new ConfigJs();
        config.mode = "prod";

        config.artifacts.url = this.generateApiUrl(request);
        
        config.ui.url = this.generateUiUrl(request);
        config.ui.contextPath = "/ui";
        
        config.features.readOnly = this.isFeatureReadOnly();
        
        g.writeObject(config);

        g.flush();
        response.getOutputStream().write(";".getBytes("UTF-8")); //$NON-NLS-1$ //$NON-NLS-2$
    } catch (Exception e) {
        throw new ServletException(e);
    }
}
 
private JsonEncoding getEncoding(MediaType contentType) {
	if (contentType != null && contentType.getCharSet() != null) {
		Charset charset = contentType.getCharSet();
		for (JsonEncoding encoding : JsonEncoding.values()) {
			if (charset.name().equals(encoding.getJavaName())) {
				return encoding;
			}
		}
	}
	return JsonEncoding.UTF8;
}
 
源代码24 项目: apiman   文件: JsonExportWriter.java
/**
 * Constructor.
 * @param targetStream
 * @param logger
 * @throws IOException
 */
public JsonExportWriter(OutputStream targetStream, IApimanLogger logger) throws IOException {
    super(logger);
    om.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    jg = jsonFactory.createGenerator(targetStream, JsonEncoding.UTF8);
    jg.useDefaultPrettyPrinter();
    jg.setCodec(om);
    jg.writeStartObject(); // Set out the base/root object
}
 
源代码25 项目: ameba   文件: JacksonXMLProvider.java
/**
 * {@inheritDoc}
 */
@Override
protected JsonGenerator _createGenerator(ObjectWriter writer, OutputStream rawStream, JsonEncoding enc) throws IOException {
    JsonGenerator generator = super._createGenerator(writer, rawStream, enc);
    JacksonUtils.configureGenerator(uriInfo, generator, mode.isDev());
    return generator;
}
 
@Override
@Nullable
protected Object convertToInternal(Object payload, @Nullable MessageHeaders headers,
		@Nullable Object conversionHint) {

	try {
		Class<?> view = getSerializationView(conversionHint);
		if (byte[].class == getSerializedPayloadClass()) {
			ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
			JsonEncoding encoding = getJsonEncoding(getMimeType(headers));
			JsonGenerator generator = this.objectMapper.getFactory().createGenerator(out, encoding);
			if (view != null) {
				this.objectMapper.writerWithView(view).writeValue(generator, payload);
			}
			else {
				this.objectMapper.writeValue(generator, payload);
			}
			payload = out.toByteArray();
		}
		else {
			Writer writer = new StringWriter();
			if (view != null) {
				this.objectMapper.writerWithView(view).writeValue(writer, payload);
			}
			else {
				this.objectMapper.writeValue(writer, payload);
			}
			payload = writer.toString();
		}
	}
	catch (IOException ex) {
		throw new MessageConversionException("Could not write JSON: " + ex.getMessage(), ex);
	}
	return payload;
}
 
源代码27 项目: kripton   文件: AbstractJacksonContext.java
@Override
public JacksonWrapperSerializer createSerializer(File file, JsonEncoding encoding) {
	try {
		return new JacksonWrapperSerializer(innerFactory.createGenerator(file, encoding), getSupportedFormat());
	} catch (IOException e) {
		e.printStackTrace();
		throw new KriptonRuntimeException(e);
	}
}
 
@Override
public Flux<DataBuffer> encode(Publisher<?> inputStream, DataBufferFactory bufferFactory,
		ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String, Object> hints) {

	Assert.notNull(inputStream, "'inputStream' must not be null");
	Assert.notNull(bufferFactory, "'bufferFactory' must not be null");
	Assert.notNull(elementType, "'elementType' must not be null");

	JsonEncoding encoding = getJsonEncoding(mimeType);

	if (inputStream instanceof Mono) {
		return Mono.from(inputStream).map(value ->
				encodeValue(value, bufferFactory, elementType, mimeType, hints, encoding)).flux();
	}
	else {
		return this.streamingMediaTypes.stream()
				.filter(mediaType -> mediaType.isCompatibleWith(mimeType))
				.findFirst()
				.map(mediaType -> {
					byte[] separator = STREAM_SEPARATORS.getOrDefault(mediaType, NEWLINE_SEPARATOR);
					return Flux.from(inputStream).map(value -> {
						DataBuffer buffer = encodeValue(
								value, bufferFactory, elementType, mimeType, hints, encoding);
						if (separator != null) {
							buffer.write(separator);
						}
						return buffer;
					});
				})
				.orElseGet(() -> {
					ResolvableType listType = ResolvableType.forClassWithGenerics(List.class, elementType);
					return Flux.from(inputStream).collectList().map(list ->
							encodeValue(list, bufferFactory, listType, mimeType, hints, encoding)).flux();
				});
	}
}
 
源代码29 项目: helios   文件: TemporaryJobJsonReports.java
private JsonReportWriter(final OutputStream outputStream) {
  this.testClassName = null;
  this.testName = null;

  JsonGenerator jg = null;
  try {
    jg = new JsonFactory().createGenerator(outputStream, JsonEncoding.UTF8);
  } catch (IOException e) {
    log.error("exception creating event log: {}", e);
  }
  this.jg = jg;
}
 
源代码30 项目: java-master   文件: JsonSteamTest.java
@Test
public void test2() throws Exception {
    JsonFactory factory = new JsonFactory();
    JsonGenerator generator = factory.createGenerator(
            new File("D:\\output.json"), JsonEncoding.UTF8);
    generator.writeStartObject();
    generator.writeStringField("brand", "Mercedes");
    generator.writeNumberField("doors", 5);
    generator.writeEndObject();
    generator.close();
}
 
 同包方法