List of usage examples for com.fasterxml.jackson.core JsonParser nextToken
public abstract JsonToken nextToken() throws IOException, JsonParseException;
From source file:com.google.openrtb.json.OpenRtbJsonExtComplexReader.java
@SuppressWarnings("unchecked") private void readRepeated(EB msg, JsonParser par) throws IOException { par.nextToken(); JsonToken tokLast = par.getCurrentToken(); JsonLocation locLast = par.getCurrentLocation(); for (startArray(par); endArray(par); par.nextToken()) { boolean objRead = false; XB ext = (XB) key.getMessageDefaultInstance().toBuilder(); for (startObject(par); endObject(par); par.nextToken()) { read(ext, par);/*from w ww .ja va2 s. c o m*/ JsonToken tokNew = par.getCurrentToken(); JsonLocation locNew = par.getCurrentLocation(); if (tokNew != tokLast || !locNew.equals(locLast)) { objRead = true; } tokLast = tokNew; locLast = locNew; } if (objRead) { msg.addExtension(key, ext.build()); } } }
From source file:com.netflix.discovery.converters.jackson.serializer.PortWrapperXmlDeserializer.java
@Override public InstanceInfo.PortWrapper deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { boolean enabled = false; int port = 0; while (jp.nextToken() == JsonToken.FIELD_NAME) { String fieldName = jp.getCurrentName(); jp.nextToken(); // to point to value if ("enabled".equals(fieldName)) { enabled = Boolean.valueOf(jp.getValueAsString()); } else if (fieldName == null || "".equals(fieldName)) { String value = jp.getValueAsString(); port = value == null ? 0 : Integer.parseInt(value); } else {/*from w w w .ja v a 2 s . co m*/ throw new JsonMappingException("Unexpected field " + fieldName, jp.getCurrentLocation()); } } return new InstanceInfo.PortWrapper(enabled, port); }
From source file:com.mozilla.bagheera.consumer.validation.JsonValidator.java
@Override public boolean isValid(byte[] data) { boolean isValid = false; JsonParser parser = null; try {//ww w. j a va2s . com parser = jsonFactory.createJsonParser(data); while (parser.nextToken() != null) { // noop } isValid = true; } catch (JsonParseException ex) { LOG.error("JSON parse error"); } catch (IOException e) { LOG.error("JSON IO error"); } catch (Exception e) { LOG.error("Generic error during validation: ", e); } finally { if (parser != null) { try { parser.close(); } catch (IOException e) { LOG.error("Error closing JSON parser", e); } } } return isValid; }
From source file:com.opentable.jaxrs.StreamedJsonResponseConverter.java
private <T> void doRead(Callback<T> callback, TypeReference<T> type, final JsonParser jp) throws IOException { expect(jp, jp.nextToken(), JsonToken.START_OBJECT); expect(jp, jp.nextToken(), JsonToken.FIELD_NAME); if (!"results".equals(jp.getCurrentName())) { throw new JsonParseException("expecting results field", jp.getCurrentLocation()); }/*from w w w . j a v a2s.c o m*/ expect(jp, jp.nextToken(), JsonToken.START_ARRAY); // As noted in a well-hidden comment in the MappingIterator constructor, // readValuesAs requires the parser to be positioned after the START_ARRAY // token with an empty current token jp.clearCurrentToken(); Iterator<T> iter = jp.readValuesAs(type); while (iter.hasNext()) { try { callback.call(iter.next()); } catch (CallbackRefusedException e) { LOG.debug("callback refused execution, finishing.", e); return; } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new IOException("Callback interrupted", e); } catch (Exception e) { Throwables.propagateIfPossible(e, IOException.class); throw new IOException("Callback failure", e); } } if (jp.nextValue() != JsonToken.VALUE_TRUE || !jp.getCurrentName().equals("success")) { throw new IOException("Streamed receive did not terminate normally; inspect server logs for cause."); } }
From source file:GetAppConfig.java
private void getConf() { String line;/*from ww w .ja v a2 s. c o m*/ String json = ""; try { BufferedReader reader = new BufferedReader( new InputStreamReader(new FileInputStream(this.jsonfile), "UTF-8")); while ((line = reader.readLine()) != null) { json += line; } reader.close(); } catch (Exception e) { System.out.println("Error: readconf(): " + e.getMessage()); return; } JsonFactory factory = new JsonFactory(); try { JsonParser parser = factory.createParser(json); while (parser.nextToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); if (name == null) continue; parser.nextToken(); if (name.equals("userid")) { this.setUserID(parser.getText()); } else if (name.equals("passwd")) { this.setPassword(parser.getText()); } else if (name.equals("deviceid")) { this.setDeviceID(parser.getText()); } else if (name.equals("pkgdir")) { this.setPackageDir(parser.getText()); } else { parser.skipChildren(); } } // while } catch (Exception e) { System.out.println("Error: parseconf(): " + e.getMessage()); } }
From source file:KV78Tester.java
public String[] parseLines(BufferedReader in) throws Exception { JsonFactory f = new JsonFactory(); JsonParser jp = f.createJsonParser(in); ArrayList<String> lines = new ArrayList<String>(); jp.nextToken(); while (jp.nextToken() != JsonToken.END_OBJECT) { String line = jp.getCurrentName(); lines.add(line);//w w w .j a v a2 s . c om jp.nextToken(); } jp.close(); in.close(); return lines.toArray(new String[lines.size()]); }
From source file:ch.rasc.wampspring.message.WelcomeMessage.java
public WelcomeMessage(JsonParser jp) throws IOException { super(WampMessageType.WELCOME); if (jp.nextToken() != JsonToken.VALUE_STRING) { throw new IOException(); }/* w w w . j a v a 2s . com*/ this.sessionId = jp.getValueAsString(); if (jp.nextToken() != JsonToken.VALUE_NUMBER_INT) { throw new IOException(); } this.protocolVersion = jp.getValueAsInt(); if (jp.nextToken() != JsonToken.VALUE_STRING) { throw new IOException(); } this.serverIdent = jp.getValueAsString(); }
From source file:com.microsoft.rest.serializer.FlatteningDeserializer.java
@SuppressWarnings("unchecked") @Override/* ww w .j av a 2 s .c o m*/ public Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonNode root = mapper.readTree(jp); final Class<?> tClass = this.defaultDeserializer.handledType(); for (Field field : tClass.getDeclaredFields()) { JsonNode node = root; JsonProperty property = field.getAnnotation(JsonProperty.class); if (property != null) { String value = property.value(); if (value.matches(".+[^\\\\]\\..+")) { String[] values = value.split("((?<!\\\\))\\."); for (String val : values) { val = val.replace("\\.", "."); node = node.get(val); if (node == null) { break; } } ((ObjectNode) root).put(value, node); } } } JsonParser parser = new JsonFactory().createParser(root.toString()); parser.nextToken(); return defaultDeserializer.deserialize(parser, ctxt); }
From source file:com.taveloper.http.test.pojo.parse.ActivityParse.java
public Activity readJson(JsonParser in) throws JsonParseException, IOException { // System.out.println("ActivityParse.readJson"); JsonToken curToken = in.nextToken(); Activity object = new Activity(); while (curToken == JsonToken.FIELD_NAME) { String curName = in.getText(); JsonToken nextToken = in.nextToken(); if ("url".equals(curName)) { object.setUrl(in.getText()); } else if ("object".equals(curName)) { ActivityObjectParse activityObjectParse = new ActivityObjectParse(); object.setActivityObject(activityObjectParse.readJson(in)); }/*from w ww . j a va 2 s . co m*/ curToken = in.nextToken(); } return object; }
From source file:com.taveloper.http.test.pojo.parse.PlusOnersParse.java
public PlusOners readJson(JsonParser in) throws JsonParseException, IOException { // System.out.println("ActivityObjectParse.readJson"); JsonToken curToken = in.nextToken(); PlusOners object = new PlusOners(); while (curToken == JsonToken.FIELD_NAME) { String curName = in.getText(); JsonToken nextToken = in.nextToken(); if ("totalItems".equals(curName)) { object.setTotalItems(in.getLongValue()); }/*from w w w .ja v a 2s .co m*/ curToken = in.nextToken(); } return object; }