Java 类com.fasterxml.jackson.core.JsonFactory 实例源码

项目:hive-jq-udtf    文件:JsonQueryUDTF.java   
private StructObjectInspector initialize(final ObjectInspector jsonArg, final ObjectInspector jqArg, final List<ObjectInspector> nameAndTypeArgs) throws UDFArgumentException {
    this.in = Arguments.asString(jsonArg, "JSON");

    try {
        this.jq = JsonQuery.compile(Arguments.asConstantNonNullString(jqArg, "JQ"));
    } catch (final JsonQueryException e) {
        throw new UDFArgumentException("JQ is invalid: " + e.getMessage());
    }

    this.marshaller = ResultObjectMarshallers.create(Arguments.asConstantNonNullStrings(nameAndTypeArgs, "TYPE or NAME:TYPE"));

    this.scope = new Scope();
    this.mapper = new ObjectMapper(new JsonFactory().enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS));

    return marshaller.objectInspector();
}
项目:GitHub    文件:JacksonPageModelParser.java   
/**
 * @param content
 * @throws JsonParseException
 * @throws IOException
 */
public PageInstance parse(String content) throws JsonParseException, IOException {
    JsonFactory f = new JsonFactory();
    JsonParser parser = f.createJsonParser(content);

    JsonToken current = parser.nextToken(); // move to the start of the
    // object

    String instanceId = getNextTextValue("sid", parser); // get instanceId

    String pageId = getNextTextValue("cid", parser); // get pageId

    current = parser.nextToken(); // move to field: segments
    assertExpectedFiled(parser.getCurrentName(), "segments", parser.getCurrentLocation());

    PageInstance pageInstance = new PageInstance();
    pageInstance.setCid(pageId);
    pageInstance.setSid(Long.valueOf(instanceId));
    pageInstance.setSegments(parseSegments(parser));
    return pageInstance;
    // 构建组件树,用于递归渲染
    // pageInstance.buildComponentTree();

}
项目:GitHub    文件:CharsToNameCanonicalizer.java   
/**
 * Internal constructor used when creating child instances.
 */
private CharsToNameCanonicalizer(CharsToNameCanonicalizer parent, int flags, int seed,
        TableInfo parentState)
{
    _parent = parent;
    _seed = seed;
    _tableInfo = null; // not used by child tables
    _flags = flags;
    _canonicalize = JsonFactory.Feature.CANONICALIZE_FIELD_NAMES.enabledIn(flags);

    // Then copy shared state
    _symbols = parentState.symbols;
    _buckets = parentState.buckets;

    _size = parentState.size;
    _longestCollisionList = parentState.longestCollisionList;

    // Hard-coded fill factor, 75%
    int arrayLen = (_symbols.length);
    _sizeThreshold = _thresholdSize(arrayLen);
    _indexMask =  (arrayLen - 1);

    // Need to make copies of arrays, if/when adding new entries
    _hashShared = true;
}
项目:GitHub    文件:GeneratorFailFromReaderTest.java   
private void _testFailOnWritingStringFromReaderWithTooFewCharacters(JsonFactory f, boolean useReader) throws Exception{
    JsonGenerator gen;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    if (useReader) {
        gen = f.createGenerator(ObjectWriteContext.empty(), new OutputStreamWriter(bout, "UTF-8"));
    } else {
        gen = f.createGenerator(ObjectWriteContext.empty(), bout, JsonEncoding.UTF8);
    }
    gen.writeStartObject();

    try {
        String testStr = "aaaaaaaaa";
        StringReader reader = new StringReader(testStr);
        gen.writeFieldName("a");
        gen.writeString(reader, testStr.length() + 1);
        gen.flush();
        String json = bout.toString("UTF-8");
        fail("Should not have let "+gen.getClass().getName()+".writeString() ': output = "+json);
    } catch (JsonProcessingException e) {
        verifyException(e, "Didn't read enough from reader");
    }
    gen.close();
}
项目:GitHub    文件:GeneratorFailFromReaderTest.java   
private void _testFailOnWritingStringFromNullReader(JsonFactory f, boolean useReader) throws Exception{
    JsonGenerator gen;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    if (useReader) {
        gen = f.createGenerator(ObjectWriteContext.empty(), new OutputStreamWriter(bout, "UTF-8"));
    } else {
        gen = f.createGenerator(ObjectWriteContext.empty(), bout, JsonEncoding.UTF8);
    }
    gen.writeStartObject();

    try {
        gen.writeFieldName("a");
        gen.writeString(null, -1);
        gen.flush();
        String json = bout.toString("UTF-8");
        fail("Should not have let "+gen.getClass().getName()+".writeString() ': output = "+json);
    } catch (JsonProcessingException e) {
        verifyException(e, "null reader");
    }
    gen.close();
}
项目:GitHub    文件:GeneratorFailTest.java   
private void _testDupFieldNameWrites(JsonFactory f, boolean useReader) throws Exception
{
    JsonGenerator gen;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    if (useReader) {
        gen = f.createGenerator(ObjectWriteContext.empty(), new OutputStreamWriter(bout, "UTF-8"));
    } else {
        gen = f.createGenerator(ObjectWriteContext.empty(), bout, JsonEncoding.UTF8);
    }
    gen.writeStartObject();
    gen.writeFieldName("a");

    try {
        gen.writeFieldName("b");
        gen.flush();
        String json = bout.toString("UTF-8");
        fail("Should not have let two consecutive field name writes succeed: output = "+json);
    } catch (JsonProcessingException e) {
        verifyException(e, "can not write a field name, expecting a value");
    }
    gen.close();
}
项目:GitHub    文件:GeneratorFailTest.java   
private void _testFailOnWritingFieldNameInRoot(JsonFactory f, boolean useReader) throws Exception
{
    JsonGenerator gen;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    if (useReader) {
        gen = f.createGenerator(ObjectWriteContext.empty(), new OutputStreamWriter(bout, "UTF-8"));
    } else {
        gen = f.createGenerator(ObjectWriteContext.empty(), bout, JsonEncoding.UTF8);
    }
    try {
        gen.writeFieldName("a");
        gen.flush();
        String json = bout.toString("UTF-8");
        fail("Should not have let "+gen.getClass().getName()+".writeFieldName() be used in root context: output = "+json);
    } catch (JsonProcessingException e) {
        verifyException(e, "can not write a field name");
    }
    gen.close();
}
项目:infinitestreams    文件:ResponseSequenceStreamer.java   
@Override
public void write(OutputStream output) throws IOException, WebApplicationException {
    try (
            Writer writer = new BufferedWriter(new OutputStreamWriter(output));
            JsonGenerator jsonGenerator = new JsonFactory(new ObjectMapper()).createGenerator(writer)
    ) {
        BigInteger index = BigInteger.ONE;
        jsonGenerator.writeStartArray();
        for (BigInteger v : (Iterable<BigInteger>) bigIntegerStream::iterator) {
            try {
                jsonGenerator.writeObject(new Sequence(index, v));
                index = index.add(BigInteger.ONE);
            } catch (IOException e) {
                throw new UncheckedIOException(e);
            }
        }
        jsonGenerator.writeEndArray();
    } catch (UncheckedIOException ignored) {}
}
项目:java-driver    文件:eclipseParser.java   
/**
 * Creates a new EclipseParser
 *
 * @param sourceFile String of source file to read
 * @param outJ       JSON parsed out
 * @throws IOException when file can't be opened or errors in reading/writing
 */
public EclipseParser(String sourceFile, PrintStream outJ, boolean prettyprint) throws IOException {

    File file = new File(sourceFile);
    final BufferedReader reader = new BufferedReader(new FileReader(file));
    char[] source = IOUtils.toCharArray(reader);
    reader.close();
    this.parser = ASTParser.newParser(AST.JLS8);
    parser.setSource(source);
    parser.setKind(ASTParser.K_COMPILATION_UNIT);

    final JsonFactory jsonF = new JsonFactory();
    jG = jsonF.createGenerator(outJ);
    if (prettyprint) {
        jG.setPrettyPrinter(new DefaultPrettyPrinter());
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
    }
    mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
    mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    mapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);
    SimpleModule module = new SimpleModule();
    module.addSerializer(ASTNode.class, new NodeSerializer());
    mapper.registerModule(module);
}
项目:GitHub    文件:TestParserOverrides.java   
public void _testTokenAccess(JsonFactory jf, boolean useStream) throws Exception
{
    final String DOC = "[ ]";
    JsonParser jp = useStream ?
            jf.createParser(ObjectReadContext.empty(), new ByteArrayInputStream(DOC.getBytes("UTF-8")))
            : jf.createParser(ObjectReadContext.empty(), DOC);
    assertNull(jp.currentToken());
    jp.clearCurrentToken();
    assertNull(jp.currentToken());
    assertNull(jp.getEmbeddedObject());
    assertToken(JsonToken.START_ARRAY, jp.nextToken());
    assertToken(JsonToken.START_ARRAY, jp.currentToken());
    jp.clearCurrentToken();
    assertNull(jp.currentToken());
    // Also: no codec defined by default
    try {
        jp.readValueAsTree();
        fail("Should get exception without codec");
    } catch (UnsupportedOperationException e) {
        verifyException(e, "Operation not supported");
    }
    jp.close();
}
项目:GitHub    文件:TestJDKSerializability.java   
public void testParseException() throws Exception
{
    JsonFactory jf = new JsonFactory();
    JsonParser p = jf.createParser(ObjectReadContext.empty(), "  { garbage! }");
    JsonParseException exc = null;
    try {
        p.nextToken();
        p.nextToken();
        fail("Should not get here");
    } catch (JsonParseException e) {
        exc = e;
    }
    p.close();
    byte[] stuff = jdkSerialize(exc);
    JsonParseException result = jdkDeserialize(stuff);
    assertNotNull(result);
}
项目:lyre    文件:ReaderTest.java   
@Test
public void readJSONFile() {

    // new error-free endpoint
    Endpoint endpoint = resources.createEndpoint("GET", "/test-json-file", "200");

    // write json file on temporary directory
    ObjectMapper mapperJson = new ObjectMapper(new JsonFactory());
    File file = TempIO.buildFile("read-json-file", ".lyre", resources.getDirectory(0));

    try {
        mapperJson.writeValue(file, endpoint);
    } catch (IOException e) {
        fail("Couldn't write on temporary file: " + e.getMessage());
    }

    reader.read(file);

    //should have a object node with json file on it.
    assertThat(reader.getObjectNodes()).isNotEmpty();
    assertThat(reader.getObjectNodes().get(file.getAbsolutePath())).isNotNull();

}
项目:JRediClients    文件:ConfigSupport.java   
private ObjectMapper createMapper(JsonFactory mapping, ClassLoader classLoader) {
    ObjectMapper mapper = new ObjectMapper(mapping);
    mapper.addMixIn(MasterSlaveServersConfig.class, MasterSlaveServersConfigMixIn.class);
    mapper.addMixIn(SingleServerConfig.class, SingleSeverConfigMixIn.class);
    mapper.addMixIn(Config.class, ConfigMixIn.class);
    mapper.addMixIn(CodecProvider.class, ClassMixIn.class);
    mapper.addMixIn(ResolverProvider.class, ClassMixIn.class);
    mapper.addMixIn(Codec.class, ClassMixIn.class);
    mapper.addMixIn(RedissonNodeInitializer.class, ClassMixIn.class);
    mapper.addMixIn(LoadBalancer.class, ClassMixIn.class);
    FilterProvider filterProvider = new SimpleFilterProvider()
            .addFilter("classFilter", SimpleBeanPropertyFilter.filterOutAllExcept());
    mapper.setFilterProvider(filterProvider);
    mapper.setSerializationInclusion(Include.NON_NULL);

    if (classLoader != null) {
        TypeFactory tf = TypeFactory.defaultInstance()
                .withClassLoader(classLoader);
        mapper.setTypeFactory(tf);
    }

    return mapper;
}
项目:open-kilda    文件:TopologyPrinter.java   
/**
 * @return A json representation of the topology. Intended for printing only.
 */
public static final String toJson(ITopology topo, boolean pretty) throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    if (pretty)
        mapper.enable(SerializationFeature.INDENT_OUTPUT);

    StringWriter sw = new StringWriter();
    JsonFactory f = mapper.getFactory();

    JsonGenerator g = f.createGenerator(sw);

    g.writeStartObject();
    // use TreeSet to sort the list
    g.writeObjectField("switches", new TreeSet<String>(topo.getSwitches().keySet()));
    g.writeObjectField("links", new TreeSet<String>(topo.getLinks().keySet()));
    g.writeEndObject();
    g.close();

    return sw.toString();
}
项目:planless    文件:Main.java   
public static void OutputStreamDemo() throws IOException {
    String out = "";
    JsonFactory f = new JsonFactory();
    FileOutputStream fos = new FileOutputStream(new File("user.out.json"));
    JsonGenerator g = f.createGenerator(fos);

    g.writeStartObject();
    g.writeObjectFieldStart("name");
    g.writeStringField("first", "BorLion");
    g.writeStringField("last", "Zhu");
    g.writeEndObject(); // for field 'name'
    g.writeStringField("gender", "MALE");
    g.writeBooleanField("verified", true);
    g.writeBinaryField("userImage", "Rm9vYmFyIQ==".getBytes());
    g.writeEndObject();
    g.writeRaw('\n');
    g.close();

}
项目:swblocks-decisiontree    文件:JsonJacksonSerialiser.java   
/**
 * Serialises the {@link DecisionTreeRuleSet} into the {@link OutputStream} in Json format.
 *
 * <p>Any exceptions are wrapped and thrown via the {@link EhSupport} API.
 *
 * @param out     {@link OutputStream} to write into
 * @param ruleSet {@link DecisionTreeRuleSet} to serialise
 */
public static void toJsonWriter(final OutputStream out, final DecisionTreeRuleSet ruleSet) {
    EhSupport.propagate(() -> {
        try (JsonGenerator generator = new JsonFactory().createGenerator(out, JsonEncoding.UTF8)) {
            generator.useDefaultPrettyPrinter();
            generator.writeStartObject();
            generator.writeStringField("name", ruleSet.getName());
            writeRuleSetDrivers(generator, ruleSet);
            writeRuleSetGroups(generator, ruleSet.getValueGroups());
            writeRules(generator, ruleSet);

            generator.writeEndObject();
            generator.flush();
        }
    });
}
项目:ibm-cos-sdk-java    文件:JsonResponseHandler.java   
/**
 * Constructs a new response handler that will use the specified JSON unmarshaller to unmarshall
 * the service response and uses the specified response element path to find the root of the
 * business data in the service's response.
 * @param responseUnmarshaller    The JSON unmarshaller to use on the response.
 * @param simpleTypeUnmarshallers List of unmarshallers to be used for scalar types.
 * @param customTypeMarshallers   List of custom unmarshallers to be used for special types.
 * @param jsonFactory             the json factory to be used for parsing the response.
 */
public JsonResponseHandler(Unmarshaller<T, JsonUnmarshallerContext> responseUnmarshaller,
                           Map<Class<?>, Unmarshaller<?, JsonUnmarshallerContext>> simpleTypeUnmarshallers,
                           Map<UnmarshallerType, Unmarshaller<?, JsonUnmarshallerContext>> customTypeMarshallers,
                           JsonFactory jsonFactory, boolean needsConnectionLeftOpen,
                           boolean isPayloadJson) {
    /*
     * Even if the invoked operation just returns null, we still need an
     * unmarshaller to run so we can pull out response metadata.
     *
     * We might want to pass this in through the client class so that we
     * don't have to do this check here.
     */
    this.responseUnmarshaller =
            responseUnmarshaller != null ? responseUnmarshaller : new VoidJsonUnmarshaller<T>();

    this.needsConnectionLeftOpen = needsConnectionLeftOpen;
    this.isPayloadJson = isPayloadJson;

    this.simpleTypeUnmarshallers = ValidationUtils.assertNotNull(simpleTypeUnmarshallers, "simple type unmarshallers");
    this.customTypeMarshallers = ValidationUtils.assertNotNull(customTypeMarshallers, "custom type marshallers");
    this.jsonFactory = ValidationUtils.assertNotNull(jsonFactory, "JSONFactory");
}
项目:racing-demo    文件:RaceTrack.java   
RaceTrack(String filename) throws IOException {
    ClassLoader classLoader = getClass().getClassLoader();

    double len = 0.0;
    try (JsonParser parser = new JsonFactory().createParser(classLoader.getResource(filename))) {
        while (parser.nextToken() != JsonToken.END_OBJECT) {
            if (Objects.equals(parser.getCurrentName(), "parts")) {
                // We found parts so load them
                if (parser.nextToken() != JsonToken.START_ARRAY) {
                    throw new IOException("Array expected.");
                }
                int index = 0;
                while (parser.nextToken() == JsonToken.START_OBJECT) {
                    Part part = loadPart(index, parser, len);
                    len += part.length;
                    parts.add(part);
                    index += 1;
                }
                break;
            }
        }
    }

    length = len;
    trackFile = filename;
}
项目:fort_w    文件:JSObject.java   
public String toString(boolean pretty)
{
   try
   {
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      JsonGenerator json = new JsonFactory().createGenerator(baos);
      if (pretty)
         json.useDefaultPrettyPrinter();
      write(json, new HashSet());
      json.flush();
      baos.flush();

      return new String(baos.toByteArray());
   }
   catch (Exception ex)
   {
      throw new RuntimeException(ex);
   }
}
项目:seldon-core    文件:TestJsonParse.java   
@Test
public void multiDimTest() throws JsonProcessingException, IOException
{
    String json = "{\"request\":{\"values\":[[1.0]]}}";

    System.out.println(json);
    ObjectMapper mapper = new ObjectMapper();
    JsonFactory factory = mapper.getFactory();
    JsonParser parser = factory.createParser(json);
    JsonNode j = mapper.readTree(parser);
    JsonNode values = j.get("request").get("values");

    double[][] v = mapper.readValue(values.toString(),double[][].class);
    double[] vs = Doubles.concat(v);
    int[] shape = {v.length,v[0].length };
    ((ObjectNode) j.get("request")).replace("values",mapper.valueToTree(vs));
    ((ObjectNode) j.get("request")).set("shape",mapper.valueToTree(shape));
    System.out.println(j.toString());
}
项目:dotwebstack-framework    文件:JsonTupleEntityWriterTest.java   
@Test
public void constructor_ThrowsException_ForMissingMediaType() {
  // Assert
  thrown.expect(NullPointerException.class);

  // Act
  new AbstractJsonGeneratorTupleEntityWriter(null) {

    @Override
    protected JsonFactory createFactory() {
      return null;
    }

    @Override
    protected AbstractTupleQueryResultSerializer createSerializer() {
      return null;
    }
  };
}
项目:uckefu    文件: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;
    }
}
项目:libcwfincore    文件:OrderBookSnapshotEventTest.java   
@Test
public void translateJavascriptToBinary() throws Exception {
    InputStream snapshotIn = getClass().getResourceAsStream("l3book_snapshot.js");

    JsonFactory jsonFactory = new JsonFactory();
    JsonParser parser = jsonFactory.createParser(snapshotIn);

    OrderBookSnapshot snapshot = new OrderBookSnapshot();
    snapshot.decodeFrame(parser);

    RecordContext ctx = new InMemoryRecordContext();

    OrderBookSnapshotEvent event = new OrderBookSnapshotEvent(snapshot);
    byte[] data = event.encodeRecord(ctx);

    OrderBookSnapshotEvent decoded = new OrderBookSnapshotEvent();
    decoded.decodeRecord(ctx, ByteBuffer.wrap(data));

    assertEquals(snapshot.getSequence(), decoded.getSnapshot().getSequence());
    assertEquals(snapshot.getBids().size(), decoded.getSnapshot().getBids().size());
    assertEquals(snapshot.getAsks().size(), decoded.getSnapshot().getAsks().size());
}
项目:aws-sdk-java-v2    文件:JsonResponseHandler.java   
/**
 * Constructs a new response handler that will use the specified JSON unmarshaller to unmarshall
 * the service response and uses the specified response element path to find the root of the
 * business data in the service's response.
 *
 * @param responseUnmarshaller    The JSON unmarshaller to use on the response.
 * @param simpleTypeUnmarshallers List of unmarshallers to be used for scalar types.
 * @param jsonFactory             the json factory to be used for parsing the response.
 */
public JsonResponseHandler(Unmarshaller<T, JsonUnmarshallerContext> responseUnmarshaller,
                           Map<Class<?>, Unmarshaller<?, JsonUnmarshallerContext>> simpleTypeUnmarshallers,
                           JsonFactory jsonFactory, boolean needsConnectionLeftOpen,
                           boolean isPayloadJson) {
    /*
     * Even if the invoked operation just returns null, we still need an
     * unmarshaller to run so we can pull out response metadata.
     *
     * We might want to pass this in through the client class so that we
     * don't have to do this check here.
     */
    this.responseUnmarshaller =
            responseUnmarshaller != null ? responseUnmarshaller : new VoidJsonUnmarshaller<T>();

    this.needsConnectionLeftOpen = needsConnectionLeftOpen;
    this.isPayloadJson = isPayloadJson;

    this.simpleTypeUnmarshallers = ValidationUtils
            .assertNotNull(simpleTypeUnmarshallers, "simple type unmarshallers");
    this.jsonFactory = ValidationUtils.assertNotNull(jsonFactory, "JSONFactory");
}
项目:xm-uaa    文件:TwitterErrorHandler.java   
private static Map<String, Object> extractErrorDetailsFromResponse(ClientHttpResponse response) throws IOException {
    ObjectMapper mapper = new ObjectMapper(new JsonFactory());
    try {
        return mapper.readValue(response.getBody(), new TypeReference<Map<String, Object>>() {
        });
    } catch (JsonParseException e) {
        log.error("Can not parse error details from response", e);
        return Collections.emptyMap();
    }
}
项目:GitHub    文件:CharsToNameCanonicalizer.java   
private String _addSymbol(char[] buffer, int start, int len, int h, int index)
{
    if (_hashShared) { //need to do copy-on-write?
        copyArrays();
        _hashShared = false;
    } else if (_size >= _sizeThreshold) { // Need to expand?
        rehash();
        /* Need to recalc hash; rare occurence (index mask has been
         * recalculated as part of rehash)
         */
        index = _hashToIndex(calcHash(buffer, start, len));
    }

    String newSymbol = new String(buffer, start, len);
    if (JsonFactory.Feature.INTERN_FIELD_NAMES.enabledIn(_flags)) {
        newSymbol = InternCache.instance.intern(newSymbol);
    }
    ++_size;
    // Ok; do we need to add primary entry, or a bucket?
    if (_symbols[index] == null) {
        _symbols[index] = newSymbol;
    } else {
        final int bix = (index >> 1);
        Bucket newB = new Bucket(newSymbol, _buckets[bix]);
        int collLen = newB.length;
        if (collLen > MAX_COLL_CHAIN_LENGTH) {
            // 23-May-2014, tatu: Instead of throwing an exception right away,
            //    let's handle in bit smarter way.
            _handleSpillOverflow(bix, newB);
        } else {
            _buckets[bix] = newB;
            _longestCollisionList = Math.max(collLen, _longestCollisionList);
        }
    }
    return newSymbol;
}
项目:GitHub    文件:ByteQuadsCanonicalizer.java   
/**
 * Factory method used to create actual symbol table instance to
 * use for parsing.
 */
public ByteQuadsCanonicalizer makeChild(int flags) {
    return new ByteQuadsCanonicalizer(this,
            JsonFactory.Feature.INTERN_FIELD_NAMES.enabledIn(flags),
            _seed,
            JsonFactory.Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW.enabledIn(flags),
            _tableInfo.get());
}
项目:GitHub    文件:TestParserOverrides.java   
private void _testCurrentName(JsonFactory jf, boolean useStream) throws Exception
{
    final String DOC = "{\"first\":{\"second\":3, \"third\":false}}";
    JsonParser jp = useStream ?
            jf.createParser(ObjectReadContext.empty(), new ByteArrayInputStream(DOC.getBytes("UTF-8")))
            : jf.createParser(ObjectReadContext.empty(), new StringReader(DOC));
    assertNull(jp.currentToken());
    assertToken(JsonToken.START_OBJECT, jp.nextToken());
    assertToken(JsonToken.FIELD_NAME, jp.nextToken());
    assertEquals("first", jp.currentName());
    assertToken(JsonToken.START_OBJECT, jp.nextToken());
    assertEquals("first", jp.currentName()); // still the same...
    jp.overrideCurrentName("foobar");
    assertEquals("foobar", jp.currentName()); // but not any more!

    assertToken(JsonToken.FIELD_NAME, jp.nextToken());
    assertEquals("second", jp.currentName());
    assertToken(JsonToken.VALUE_NUMBER_INT, jp.nextToken());
    assertEquals("second", jp.currentName());

    assertToken(JsonToken.FIELD_NAME, jp.nextToken());
    assertEquals("third", jp.currentName());
    assertToken(JsonToken.VALUE_FALSE, jp.nextToken());
    assertEquals("third", jp.currentName());

    assertToken(JsonToken.END_OBJECT, jp.nextToken());
    // should retain overrides, too
    assertEquals("foobar", jp.currentName());

    assertToken(JsonToken.END_OBJECT, jp.nextToken());
    jp.clearCurrentToken();
    assertNull(jp.currentToken());
    jp.close();
}
项目:GitHub    文件:AsyncMissingValuesInObjectTest.java   
public AsyncMissingValuesInObjectTest(Collection<JsonParser.Feature> features) {
    this.factory = new JsonFactory();
    this.features = new HashSet<JsonParser.Feature>(features);

    for (JsonParser.Feature feature : features) {
        factory.enable(feature);
    }
}
项目:GitHub    文件:TestJDKSerializability.java   
public void testJsonFactorySerializable() throws Exception
{
    JsonFactory f = new JsonFactory();
    String origJson = "{\"simple\":[1,true,{}]}";
    assertEquals(origJson, _copyJson(f, origJson, false));

    // Ok: freeze dry factory, thaw, and try to use again:
    byte[] frozen = jdkSerialize(f);
    JsonFactory f2 = jdkDeserialize(frozen);
    assertNotNull(f2);
    assertEquals(origJson, _copyJson(f2, origJson, false));

    // Let's also try byte-based variant, for fun...
    assertEquals(origJson, _copyJson(f2, origJson, true));
}
项目:GitHub    文件:TestJDKSerializability.java   
public void testLocation() throws Exception
{
    JsonFactory jf = new JsonFactory();
    JsonParser jp = jf.createParser(ObjectReadContext.empty(), "  { }");
    assertToken(JsonToken.START_OBJECT, jp.nextToken());
    JsonLocation loc = jp.getCurrentLocation();

    byte[] stuff = jdkSerialize(loc);
    JsonLocation loc2 = jdkDeserialize(stuff);
    assertNotNull(loc2);

    assertEquals(loc.getLineNr(), loc2.getLineNr());
    assertEquals(loc.getColumnNr(), loc2.getColumnNr());
    jp.close();
}
项目:ibm-cos-sdk-java    文件:JsonErrorResponseHandlerTest.java   
@Test
public void handle_NoUnmarshallersAdded_ReturnsGenericAmazonServiceException() throws
                                                                               Exception {
    responseHandler = new JsonErrorResponseHandler(new ArrayList<JsonErrorUnmarshaller>(),
                                                   new JsonErrorCodeParser(),
                                                   JsonErrorMessageParser.DEFAULT_ERROR_MESSAGE_PARSER,
                                                   new JsonFactory());

    AmazonServiceException ase = responseHandler.handle(httpResponse);

    assertNotNull(ase);
}
项目:GitHub    文件:TestJDKSerializability.java   
protected void _copyJson(JsonFactory f, String json, JsonGenerator g) throws IOException
{
    JsonParser p = f.createParser(ObjectReadContext.empty(), json);
    while (p.nextToken() != null) {
        g.copyCurrentEvent(p);
    }
    p.close();
    g.close();
}
项目:Machine-Learning-End-to-Endguide-for-Java-developers    文件:JSONExamples.java   
public static void parsePerson() {
    try {
        JsonFactory jsonfactory = new JsonFactory();
        JsonParser parser = jsonfactory.createParser(new File("Person.json"));
        while (parser.nextToken() != JsonToken.END_OBJECT) {
            String token = parser.getCurrentName();

            if ("firstname".equals(token)) {
                parser.nextToken();
                String fname = parser.getText();
                out.println("firstname : " + fname);
            }
            if ("lastname".equals(token)) {
                parser.nextToken();
                String lname = parser.getText();
                out.println("lastname : " + lname);
            }
            if ("phone".equals(token)) {
                parser.nextToken();
                long phone = parser.getLongValue();
                out.println("phone : " + phone);
            }
            if ("address".equals(token)) {
                out.println("address :");
                parser.nextToken();
                while (parser.nextToken() != JsonToken.END_ARRAY) {
                    out.println(parser.getText());
                }
            }
        }
        parser.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
项目:powsybl-core    文件:JsonUtil.java   
public static <T> T parseJson(Reader reader, Function<JsonParser, T> function) {
    Objects.requireNonNull(reader);
    Objects.requireNonNull(function);
    JsonFactory factory = new JsonFactory();
    try (JsonParser parser = factory.createParser(reader)) {
        return function.apply(parser);
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}
项目:FRDRV    文件:VenorsParserConfiguration.java   
@Bean
public JsonParser getJsonParser(@Value("${app.vendors.json}") String filename) throws IOException {
    JsonFactory factory = new JsonFactory();
    ClassLoader classLoader = getClass().getClassLoader();
    File file = new File(classLoader.getResource(filename).getFile());
    JsonParser parser = factory.createJsonParser(file);
    return parser;
}
项目:Java-Data-Science-Made-Easy    文件:JSONExamples.java   
public static void parsePerson() {
    try {
        JsonFactory jsonfactory = new JsonFactory();
        JsonParser parser = jsonfactory.createParser(new File("Person.json"));
        while (parser.nextToken() != JsonToken.END_OBJECT) {
            String token = parser.getCurrentName();

            if ("firstname".equals(token)) {
                parser.nextToken();
                String fname = parser.getText();
                out.println("firstname : " + fname);
            }
            if ("lastname".equals(token)) {
                parser.nextToken();
                String lname = parser.getText();
                out.println("lastname : " + lname);
            }
            if ("phone".equals(token)) {
                parser.nextToken();
                long phone = parser.getLongValue();
                out.println("phone : " + phone);
            }
            if ("address".equals(token)) {
                out.println("address :");
                parser.nextToken();
                while (parser.nextToken() != JsonToken.END_ARRAY) {
                    out.println(parser.getText());
                }
            }
        }
        parser.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
项目:Java-Data-Science-Made-Easy    文件:JSONExamples.java   
public void parsePersons(String filename) {
    try {
        JsonFactory jsonfactory = new JsonFactory();
        File source = new File(filename);
        JsonParser parser = jsonfactory.createParser(source);
        while (parser.nextToken() != JsonToken.END_OBJECT) {
            String token = parser.getCurrentName();
            if ("persons".equals(token)) {
                out.println("Persons found");
                JsonToken jsonToken = parser.nextToken();
                jsonToken = parser.nextToken();
                token = parser.getCurrentName();
                out.println("Next token is " + token);
                if ("groupname".equals(token)) {
                    parser.nextToken();
                    String groupname = parser.getText();
                    out.println("Group : " + groupname);
                    parser.nextToken();
                    token = parser.getCurrentName();
                    if ("person".equals(token)) {
                        out.println("Found person");
                        parsePerson(parser);
                    }
                }
            }
        }
        parser.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
项目:planless    文件:Main.java   
public static void arraysParsingDemo() throws IOException {
    JsonFactory f = new JsonFactory();
    JsonParser jp = f.createParser(new File("user.array.json"));
    ObjectMapper mapper = new ObjectMapper();
    List<User> userArray = new ArrayList<User>();
    jp.nextToken();
    while(jp.nextToken() == JsonToken.START_OBJECT) {
        userArray.add(mapper.readValue(jp, User.class));
    }
    for (User user : userArray) {
        System.out.println("-----");
        System.out.println(user);
    }
}
项目:Java-for-Data-Science    文件:JSONExamples.java   
public static void parsePerson() {
    try {
        JsonFactory jsonfactory = new JsonFactory();
        JsonParser parser = jsonfactory.createParser(new File("Person.json"));
        while (parser.nextToken() != JsonToken.END_OBJECT) {
            String token = parser.getCurrentName();

            if ("firstname".equals(token)) {
                parser.nextToken();
                String fname = parser.getText();
                out.println("firstname : " + fname);
            }
            if ("lastname".equals(token)) {
                parser.nextToken();
                String lname = parser.getText();
                out.println("lastname : " + lname);
            }
            if ("phone".equals(token)) {
                parser.nextToken();
                long phone = parser.getLongValue();
                out.println("phone : " + phone);
            }
            if ("address".equals(token)) {
                out.println("address :");
                parser.nextToken();
                while (parser.nextToken() != JsonToken.END_ARRAY) {
                    out.println(parser.getText());
                }
            }
        }
        parser.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}