List of usage examples for com.fasterxml.jackson.core JsonParser nextToken
public abstract JsonToken nextToken() throws IOException, JsonParseException;
From source file:com.cedarsoft.serialization.jackson.test.compatible.JacksonCompatibleTest.java
@Test public void testReadCompatible() throws Exception { JsonParser parser = jsonFactory.createJsonParser(getClass().getResource("simple.json")); JacksonParserWrapper wrapper = new JacksonParserWrapper(parser); wrapper.startObject();/* w w w . j a v a2s . c o m*/ wrapper.nextField("street"); assertThat(parser.getText()).isEqualTo("street"); assertThat(parser.nextToken()).isEqualTo(JsonToken.VALUE_STRING); assertThat(parser.getText()).isEqualTo("Schlossalle"); wrapper.nextField("number"); assertThat(parser.nextToken()).isEqualTo(JsonToken.VALUE_NUMBER_INT); assertThat(parser.getValueAsInt()).isEqualTo(7); assertThat(parser.nextToken()).isEqualTo(JsonToken.END_OBJECT); wrapper.ensureObjectClosed(); }
From source file:com.sdl.odata.unmarshaller.json.core.JsonProcessor.java
/** * This method fills odataMap that contains special tags "odata" with key:value When the key token is over, you need * to execute nextToken() in order to get value. * * @param jsonParser the parser// w w w.ja v a2 s . c o m * @throws IOException If unable to read input parser */ private void processSpecialTags(JsonParser jsonParser) throws IOException { LOG.info("@odata tags found - start parsing"); String key = jsonParser.getCurrentName(); jsonParser.nextToken(); String value = jsonParser.getText(); odataValues.put(key, value); }
From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.deserializers.OldAliasesDeserializer.java
@Override public LinkedHashMap<String, List<String>> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { LinkedHashMap<String, List<String>> result = new LinkedHashMap<String, List<String>>(); // Is the alias broken, i.e., it starts with '[' if (jp.getCurrentToken().equals(JsonToken.START_ARRAY)) { jp.nextToken(); if (!jp.getCurrentToken().equals(JsonToken.END_ARRAY)) { logger.warn("Token " + JsonToken.END_ARRAY + " expected"); }//from w w w . j a va2 s . c om } else { ObjectCodec mapper = jp.getCodec(); result = mapper.readValue(jp, new TypeReference<LinkedHashMap<String, OldAliasList>>() { }); } return result; }
From source file:org.intelligentsia.dowsers.core.serializers.jackson.ClassInformationDeserializer.java
@Override public ClassInformation deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { String description = null;/* ww w. j ava 2s. c o m*/ if (jp.hasCurrentToken()) { if (jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { jp.nextValue(); description = jp.getText(); jp.nextToken(); } } return description != null ? ClassInformation.parse(description) : null; }
From source file:com.adobe.communities.ugc.migration.importer.GenericUGCImporter.java
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException { final ResourceResolver resolver = request.getResourceResolver(); UGCImportHelper.checkUserPrivileges(resolver, rrf); final String path = request.getRequestParameter("path").getString(); final Resource resource = resolver.getResource(path); if (resource == null) { throw new ServletException("Could not find a valid resource for import"); }//w w w. j a va2s .c om final String filePath = request.getRequestParameter("filePath").getString(); if (!filePath.startsWith(ImportFileUploadServlet.UPLOAD_DIR)) { throw new ServletException("Path to file resource lies outside migration import path"); } final Resource fileResource = resolver.getResource(filePath); if (fileResource == null) { throw new ServletException("Could not find a valid file resource to read"); } // get the input stream from the file resource Resource file = fileResource.getChild("file"); if (null != file && !(file instanceof NonExistingResource)) { file = file.getChild(JcrConstants.JCR_CONTENT); if (null != file && !(file instanceof NonExistingResource)) { final ValueMap contentVM = file.getValueMap(); InputStream inputStream = (InputStream) contentVM.get(JcrConstants.JCR_DATA); if (inputStream != null) { final JsonParser jsonParser = new JsonFactory().createParser(inputStream); jsonParser.nextToken(); // get the first token importFile(jsonParser, resource, resolver); ImportFileUploadServlet.deleteResource(fileResource); return; } } } throw new ServletException("Unable to read file in provided file resource path"); }
From source file:net.floodlightcontroller.loadbalancer.PoolsResource.java
protected LBPool jsonToPool(String json) throws IOException { if (json == null) return null; MappingJsonFactory f = new MappingJsonFactory(); JsonParser jp; LBPool pool = new LBPool(); try {//from www .j av a2 s .c o m jp = f.createJsonParser(json); } catch (JsonParseException e) { throw new IOException(e); } jp.nextToken(); if (jp.getCurrentToken() != JsonToken.START_OBJECT) { throw new IOException("Expected START_OBJECT"); } while (jp.nextToken() != JsonToken.END_OBJECT) { if (jp.getCurrentToken() != JsonToken.FIELD_NAME) { throw new IOException("Expected FIELD_NAME"); } String n = jp.getCurrentName(); jp.nextToken(); if (jp.getText().equals("")) continue; if (n.equals("id")) { pool.id = jp.getText(); continue; } if (n.equals("tenant_id")) { pool.tenantId = jp.getText(); continue; } if (n.equals("name")) { pool.name = jp.getText(); continue; } if (n.equals("network_id")) { pool.netId = jp.getText(); continue; } if (n.equals("lb_method")) { pool.lbMethod = Short.parseShort(jp.getText()); continue; } if (n.equals("protocol")) { String tmp = jp.getText(); if (tmp.equalsIgnoreCase("TCP")) { pool.protocol = IPv4.PROTOCOL_TCP; } else if (tmp.equalsIgnoreCase("UDP")) { pool.protocol = IPv4.PROTOCOL_UDP; } else if (tmp.equalsIgnoreCase("ICMP")) { pool.protocol = IPv4.PROTOCOL_ICMP; } continue; } if (n.equals("vip_id")) { pool.vipId = jp.getText(); continue; } log.warn("Unrecognized field {} in " + "parsing Pools", jp.getText()); } jp.close(); return pool; }
From source file:com.ryan.ryanreader.jsonwrap.JsonBufferedObject.java
@Override protected void buildBuffered(final JsonParser jp) throws IOException { JsonToken jt;//from w ww .ja v a 2 s . c o m while ((jt = jp.nextToken()) != JsonToken.END_OBJECT) { if (jt != JsonToken.FIELD_NAME) throw new JsonParseException("Expecting field name, got " + jt.name(), jp.getCurrentLocation()); final String fieldName = jp.getCurrentName(); final JsonValue value = new JsonValue(jp); synchronized (this) { properties.put(fieldName, value); notifyAll(); } value.buildInThisThread(); } }
From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.deserializers.OldLabelsDescriptionsDeserializer.java
@Override public LinkedHashMap<String, String> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { LinkedHashMap<String, String> result = null; // Is the alias broken, i.e., it starts with '[' if (jp.getCurrentToken().equals(JsonToken.START_ARRAY)) { result = new LinkedHashMap<String, String>(); jp.nextToken(); if (!jp.getCurrentToken().equals(JsonToken.END_ARRAY)) { logger.warn("Token " + JsonToken.END_ARRAY + " expected"); }//from w w w . j a va 2 s. co m } else { ObjectCodec mapper = jp.getCodec(); result = mapper.readValue(jp, new TypeReference<LinkedHashMap<String, String>>() { }); } return result; }
From source file:org.hyperledger.dropwizard.hocon.HoconDeserializer.java
protected ConfigObject deserializeObject(JsonParser jp, DeserializationContext ctxt) throws IOException { HashMap<String, Object> mapping = new HashMap<>(); while (jp.nextToken() != JsonToken.END_OBJECT) { String name = jp.getCurrentName(); JsonToken t = jp.nextToken();// w ww.ja v a 2s . c o m switch (t) { case START_ARRAY: mapping.put(name, deserializeArray(jp, ctxt).unwrapped()); break; case START_OBJECT: mapping.put(name, deserializeObject(jp, ctxt).unwrapped()); break; case VALUE_FALSE: mapping.put(name, false); break; case VALUE_TRUE: mapping.put(name, true); break; case VALUE_NULL: mapping.put(name, null); break; case VALUE_NUMBER_FLOAT: if (jp.getNumberType() == JsonParser.NumberType.BIG_DECIMAL) { mapping.put(name, jp.getDecimalValue()); } else { mapping.put(name, jp.getDoubleValue()); } break; case VALUE_NUMBER_INT: // very cumbersome... but has to be done switch (jp.getNumberType()) { case LONG: mapping.put(name, jp.getLongValue()); break; case INT: mapping.put(name, jp.getIntValue()); break; default: mapping.put(name, jp.getBigIntegerValue()); } break; case VALUE_STRING: mapping.put(name, jp.getText()); break; case VALUE_EMBEDDED_OBJECT: { Object ob = jp.getEmbeddedObject(); if (ob instanceof byte[]) { String b64 = ctxt.getBase64Variant().encode((byte[]) ob, false); mapping.put(name, b64); break; } } default: throw ctxt.mappingException(_valueClass); } } return ConfigValueFactory.fromMap(mapping); }
From source file:com.basistech.rosette.dm.jackson.array.MorphoAnalysisListArrayDeserializer.java
@Override public List<MorphoAnalysis> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() != JsonToken.START_ARRAY) { throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "Expected array of items"); }// www . jav a2 s . c om List<MorphoAnalysis> results = Lists.newArrayList(); MorphoAnalysisTypes type = MorphoAnalysisTypes.PLAIN; while (jp.nextToken() != JsonToken.END_ARRAY) { if (jp.getCurrentToken() == JsonToken.VALUE_NUMBER_INT) { type = MorphoAnalysisTypes.byOrdinal(jp.getIntValue()); jp.nextToken(); } results.add(jp.readValueAs(type.getMorphoAnalysisClass())); } return ImmutableList.copyOf(results); }