當前位置: 首頁>>代碼示例>>Java>>正文


Java JsonFactory.createParser方法代碼示例

本文整理匯總了Java中com.fasterxml.jackson.core.JsonFactory.createParser方法的典型用法代碼示例。如果您正苦於以下問題:Java JsonFactory.createParser方法的具體用法?Java JsonFactory.createParser怎麽用?Java JsonFactory.createParser使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.fasterxml.jackson.core.JsonFactory的用法示例。


在下文中一共展示了JsonFactory.createParser方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: _testTokenAccess

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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();
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:24,代碼來源:TestParserOverrides.java

示例2: testParseException

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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);
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:18,代碼來源:TestJDKSerializability.java

示例3: multiDimTest

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
@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());
}
 
開發者ID:SeldonIO,項目名稱:seldon-core,代碼行數:20,代碼來源:TestJsonParse.java

示例4: translateJavascriptToBinary

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
@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());
}
 
開發者ID:cloudwall,項目名稱:libcwfincore,代碼行數:23,代碼來源:OrderBookSnapshotEventTest.java

示例5: _testCurrentName

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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();
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:35,代碼來源:TestParserOverrides.java

示例6: testLocation

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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();
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:16,代碼來源:TestJDKSerializability.java

示例7: _copyJson

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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();
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:10,代碼來源:TestJDKSerializability.java

示例8: parsePerson

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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();
    }
}
 
開發者ID:PacktPublishing,項目名稱:Machine-Learning-End-to-Endguide-for-Java-developers,代碼行數:36,代碼來源:JSONExamples.java

示例9: parsePersons

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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();
    }
}
 
開發者ID:PacktPublishing,項目名稱:Machine-Learning-End-to-Endguide-for-Java-developers,代碼行數:32,代碼來源:JSONExamples.java

示例10: readDatabase

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
long readDatabase(InputStream stream) throws IOException {
    long timestamp = 0;

    numeriche = new HashMap<>();

    timestamp = System.currentTimeMillis();
    JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory
    JsonParser jp = jsonFactory.createParser(stream); // or URL, Stream, Reader, String, byte[]

    jp.nextToken(); // will return JsonToken.START_OBJECT (verify?)

    // passo a leggere il database
    String fieldName;
    if (jp.nextToken() == JsonToken.FIELD_NAME) {
        fieldName = jp.getCurrentName();
        jp.nextToken(); // START_OBJECT INIZIO di un nuovo oggetto database

        // Passo al campo nome
        while (jp.nextToken() == JsonToken.FIELD_NAME) {
            fieldName = jp.getCurrentName();
            jp.nextToken(); // Vado al valore
            if ("name".equals(fieldName)) {
                System.out.println("Database Name:" + jp.getValueAsString());
            } else if ("tables".equals(fieldName)) {
                while (jp.nextToken() != JsonToken.END_ARRAY) {
                    readTable(jp);
                }
            }
        }
    }

    jp.close();

    long duration = System.currentTimeMillis() - timestamp;

    return duration;
}
 
開發者ID:claudiodegio,項目名稱:dbsync,代碼行數:38,代碼來源:JsonDatabaseReader.java

示例11: parsingDemo

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
public static void parsingDemo() throws IOException {
    JsonFactory f = new JsonFactory();
    JsonParser jp = f.createParser(new File("user.json"));
    User user = new User();
    jp.nextToken(); // will return JsonToken.START_OBJECT
    while (jp.nextToken() == JsonToken.FIELD_NAME) {
        String fieldname = jp.getCurrentName();
        jp.nextToken(); // move to value, or START_OBJECT/START_ARRAY
        if ("name".equals(fieldname)) { // contains an object
            User.Name name = new User.Name();
            while (jp.nextToken() != JsonToken.END_OBJECT) {
                String namefield = jp.getCurrentName();
                jp.nextToken(); // move to value
                if ("first".equals(namefield)) {
                    name.setFirst(jp.getText());
                } else if ("last".equals(namefield)) {
                    name.setLast(jp.getText());
                } else {
                    throw new IllegalStateException("Unrecognized field '"+fieldname+"'!");
                }
            }
            user.setName(name);
        } else if ("gender".equals(fieldname)) {
            user.setGender(User.Gender.valueOf(jp.getText()));
        } else if ("verified".equals(fieldname)) {
            user.setVerified(jp.getCurrentToken() == JsonToken.VALUE_TRUE);
        } else if ("userImage".equals(fieldname)) {
            user.setUserImage(jp.getBinaryValue());
        } else {
            throw new IllegalStateException("Unrecognized field '"+fieldname+"'!");
        }
    }
    jp.close();
    System.out.println(user);
}
 
開發者ID:zhubl,項目名稱:planless,代碼行數:36,代碼來源:Main.java

示例12: arraysParsingDemo

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
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);
    }
}
 
開發者ID:zhubl,項目名稱:planless,代碼行數:15,代碼來源:Main.java

示例13: testSerialize

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
@Test
public void testSerialize() throws IOException {
    String test = "[{\"name\":\"HalloHallo\",\"segmentId\":12345}]";
    InputStream stream = new ByteArrayInputStream( test.getBytes() );
    JsonFactory factory = new MappingJsonFactory();
    JsonParser parser = factory.createParser(stream);
    JsonToken token = parser.nextToken();
    if (token == JsonToken.START_ARRAY) {
        do {
            parser.nextToken();
            DefaultSegmentXInfoDTO segmentXInfoDTO = parser.readValueAs(DefaultSegmentXInfoDTO.class);
        } while (token == JsonToken.END_ARRAY);
    }
}
 
開發者ID:graphium-project,項目名稱:graphium,代碼行數:15,代碼來源:TestSerializeContainer.java

示例14: jackson

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
@Benchmark
public void jackson(Blackhole bh) throws Exception {
	JsonFactory f = new JsonFactory();
	JsonParser p = f.createParser(input);
	int i = 0;
	while (p.nextToken() != null) {
		i++;
	}
	bh.consume(i);
}
 
開發者ID:httpdigest,項目名稱:ftljson,代碼行數:11,代碼來源:B.java

示例15: testJacksonParsing

import com.fasterxml.jackson.core.JsonFactory; //導入方法依賴的package包/類
@Test
public void testJacksonParsing() throws IOException {
    ObjectMapper mapper = IndexV1Updater.getObjectMapperInstance(FAKE_REPO_ID);
    // the app ignores all unknown fields when complete, do not ignore during dev to catch mistakes
    mapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    JsonFactory f = mapper.getFactory();
    JsonParser parser = f.createParser(TestUtils.copyResourceToTempFile("guardianproject_index-v1.json"));

    Repo repo = null;
    App[] apps = null;
    Map<String, String[]> requests = null;
    Map<String, List<Apk>> packages = null;

    parser.nextToken(); // go into the main object block
    while (true) {
        String fieldName = parser.nextFieldName();
        if (fieldName == null) {
            break;
        }
        switch (fieldName) {
            case "repo":
                repo = parseRepo(mapper, parser);
                break;
            case "requests":
                requests = parseRequests(mapper, parser);
                break;
            case "apps":
                apps = parseApps(mapper, parser);
                break;
            case "packages":
                packages = parsePackages(mapper, parser);
                break;
        }
    }
    parser.close(); // ensure resources get cleaned up timely and properly

    RepoDetails indexV0Details = getFromFile("guardianproject_index.xml",
            Repo.PUSH_REQUEST_ACCEPT_ALWAYS);
    indexV0Details.apps.size();

    assertEquals(indexV0Details.apps.size(), apps.length);
    assertEquals(apps.length, packages.size());

    int totalApks = 0;
    for (String packageName : packages.keySet()) {
        totalApks += packages.get(packageName).size();
    }
    assertEquals(totalApks, indexV0Details.apks.size());

    assertEquals(indexV0Details.icon, repo.icon);
    assertEquals(indexV0Details.timestamp, repo.timestamp / 1000); // V1 is in millis
    assertEquals(indexV0Details.name, repo.name);
    assertArrayEquals(indexV0Details.mirrors, repo.mirrors);

    ArrayList<String> installRequests = new ArrayList<>();
    for (RepoPushRequest repoPushRequest : indexV0Details.repoPushRequestList) {
        if ("install".equals(repoPushRequest.request)) {
            installRequests.add(repoPushRequest.packageName);
        }
    }
    assertArrayEquals(installRequests.toArray(), requests.get("install"));
}
 
開發者ID:uhuru-mobile,項目名稱:mobile-store,代碼行數:63,代碼來源:IndexV1UpdaterTest.java


注:本文中的com.fasterxml.jackson.core.JsonFactory.createParser方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。