List of usage examples for com.fasterxml.jackson.core JsonToken END_OBJECT
JsonToken END_OBJECT
To view the source code for com.fasterxml.jackson.core JsonToken END_OBJECT.
Click Source Link
From source file:com.tage.calcite.adapter.druid.DruidConnectionImpl.java
/** Parses the output of a {@code topN} query, sending the results to a * {@link Sink}. *///from ww w . j av a 2 s. c o m private void parse(com.tage.calcite.adapter.druid.QueryType queryType, InputStream in, Sink sink, List<String> fieldNames, List<Primitive> fieldTypes, Page page) { final JsonFactory factory = new JsonFactory(); final Row.RowBuilder rowBuilder = Row.newBuilder(fieldNames.size()); if (CalcitePrepareImpl.DEBUG) { try { final byte[] bytes = AvaticaUtils.readFullyToBytes(in); System.out.println("Response: " + new String(bytes)); in = new ByteArrayInputStream(bytes); } catch (IOException e) { throw Throwables.propagate(e); } } try (final JsonParser parser = factory.createParser(in)) { switch (queryType) { case TOP_N: if (parser.nextToken() == JsonToken.START_ARRAY && parser.nextToken() == JsonToken.START_OBJECT) { expectScalarField(parser, "timestamp"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("result") && parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() == JsonToken.START_OBJECT) { // loop until token equal to "}" parseFields(fieldNames, fieldTypes, rowBuilder, parser); sink.send(rowBuilder.build()); rowBuilder.reset(); } } } break; case SELECT: if (parser.nextToken() == JsonToken.START_ARRAY && parser.nextToken() == JsonToken.START_OBJECT) { page.pagingIdentifier = null; page.offset = -1; expectScalarField(parser, "timestamp"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("result") && parser.nextToken() == JsonToken.START_OBJECT) { if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("pagingIdentifiers") && parser.nextToken() == JsonToken.START_OBJECT) { switch (parser.nextToken()) { case FIELD_NAME: page.pagingIdentifier = parser.getCurrentName(); if (parser.nextToken() == JsonToken.VALUE_NUMBER_INT) { page.offset = parser.getIntValue(); } expect(parser, JsonToken.END_OBJECT); break; case END_OBJECT: } } if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("events") && parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() == JsonToken.START_OBJECT) { expectScalarField(parser, "segmentId"); expectScalarField(parser, "offset"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("event") && parser.nextToken() == JsonToken.START_OBJECT) { parseFields(fieldNames, fieldTypes, rowBuilder, parser); sink.send(rowBuilder.build()); rowBuilder.reset(); } expect(parser, JsonToken.END_OBJECT); } parser.nextToken(); } } } break; case GROUP_BY: if (parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() == JsonToken.START_OBJECT) { expectScalarField(parser, "version"); expectScalarField(parser, "timestamp"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("event") && parser.nextToken() == JsonToken.START_OBJECT) { parseFields(fieldNames, fieldTypes, rowBuilder, parser); sink.send(rowBuilder.build()); rowBuilder.reset(); } expect(parser, JsonToken.END_OBJECT); } } } } catch (IOException | InterruptedException e) { throw Throwables.propagate(e); } }
From source file:com.adobe.communities.ugc.migration.importer.UGCImportHelper.java
public Resource extractResource(final JsonParser parser, final SocialResourceProvider provider, final ResourceResolver resolver, final String path) throws IOException { final Map<String, Object> properties = new HashMap<String, Object>(); while (parser.nextToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken();/* w w w . j av a 2 s . c o m*/ JsonToken token = parser.getCurrentToken(); if (name.equals(ContentTypeDefinitions.LABEL_SUBNODES)) { if (token.equals(JsonToken.START_OBJECT)) { parser.nextToken(); final String childPath = path + "/" + parser.getCurrentName(); parser.nextToken(); // should equal JsonToken.START_OBJECT final Resource childResource = extractResource(parser, provider, resolver, childPath); // should // we do anything with this? } } } return provider.create(resolver, path, properties); }
From source file:com.adobe.communities.ugc.migration.importer.UGCImportHelper.java
public static Map<String, Object> extractSubmap(final JsonParser jsonParser) throws IOException { jsonParser.nextToken(); // skip the START_OBJECT token final Map<String, Object> subMap = new HashMap<String, Object>(); while (!jsonParser.getCurrentToken().equals(JsonToken.END_OBJECT)) { final String label = jsonParser.getCurrentName(); // get the current label final JsonToken token = jsonParser.nextToken(); // get the current value if (!token.isScalarValue()) { if (token.equals(JsonToken.START_OBJECT)) { // if the next token starts a new object, recurse into it subMap.put(label, extractSubmap(jsonParser)); } else if (token.equals(JsonToken.START_ARRAY)) { final List<String> subArray = new ArrayList<String>(); jsonParser.nextToken(); // skip the START_ARRAY token while (!jsonParser.getCurrentToken().equals(JsonToken.END_ARRAY)) { subArray.add(jsonParser.getValueAsString()); jsonParser.nextToken(); }// w w w .j av a2 s. c om subMap.put(label, subArray); jsonParser.nextToken(); // skip the END_ARRAY token } } else { // either a string, boolean, or long value if (token.isNumeric()) { subMap.put(label, jsonParser.getValueAsLong()); } else { final String value = jsonParser.getValueAsString(); if (value.equals("true") || value.equals("false")) { subMap.put(label, jsonParser.getValueAsBoolean()); } else { subMap.put(label, value); } } } jsonParser.nextToken(); // next token will either be an "END_OBJECT" or a new label } jsonParser.nextToken(); // skip the END_OBJECT token return subMap; }
From source file:com.microsoft.azure.storage.core.EncryptionData.java
public static HashMap<String, String> deserializeKeyWrappingMetadata(JsonParser parser) throws JsonParseException, IOException { JsonUtilities.assertIsStartObjectJsonToken(parser); parser.nextToken();// w w w. j a v a 2 s . co m HashMap<String, String> keyWrappingMetadata = new HashMap<String, String>(); while (parser.getCurrentToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken(); keyWrappingMetadata.put(name, parser.getValueAsString()); parser.nextToken(); } JsonUtilities.assertIsEndObjectJsonToken(parser); return keyWrappingMetadata; }
From source file:io.apiman.manager.api.exportimport.json.JsonImportReader.java
public void readPlans() throws Exception { current = nextToken();// w w w. j a va 2s . c o m if (current == JsonToken.END_ARRAY) { return; } while (nextToken() != JsonToken.END_ARRAY) { // Traverse each plan definition while (nextToken() != JsonToken.END_OBJECT) { if (jp.getCurrentName().equals(PlanBean.class.getSimpleName())) { current = nextToken(); PlanBean planBean = jp.readValueAs(PlanBean.class); dispatcher.plan(planBean); } else { OrgElementsEnum fieldName = OrgElementsEnum.valueOf(jp.getCurrentName()); current = nextToken(); switch (fieldName) { case Versions: readPlanVersions(); break; default: throw new RuntimeException("Unhandled entity " + fieldName + " with token " + current); } } } } }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParser.java
private void parseValue() throws IOException { JsonToken token = p.getCurrentToken(); if (token == null) { throw new DecodeException("Unexpected JSON token null"); }/*from ww w.ja v a 2s. co m*/ switch (token) { case START_ARRAY: tokens.add(START_ARRAY); parseValuesUntil(JsonToken.END_ARRAY); tokens.add(END_ARRAY); break; case START_OBJECT: tokens.add(START_OBJECT); parseValuesUntil(JsonToken.END_OBJECT); tokens.add(END_OBJECT); break; case VALUE_STRING: case VALUE_NUMBER_FLOAT: case VALUE_NUMBER_INT: tokens.add(new ValueToken(token, p.getText())); break; case VALUE_TRUE: case VALUE_FALSE: case VALUE_NULL: tokens.add(new Token(token)); break; default: throw new DecodeException("Unexpected JSON token " + token + ": '" + p.getText() + "'"); } }
From source file:com.tlongdev.bktf.interactor.TlongdevPriceListInteractor.java
private ContentValues buildContentValues(JsonParser parser) throws IOException { ContentValues values = new ContentValues(); int defindex = 0; int quality = 0; int tradable = 0; int craftable = 0; double value = 0; Double high = null;//from w ww . j a v a 2 s . c om double raw = 0; while (parser.nextToken() != JsonToken.END_OBJECT) { parser.nextToken(); switch (parser.getCurrentName()) { case "defindex": Item item = new Item(); item.setDefindex(parser.getIntValue()); defindex = item.getFixedDefindex(); values.put(PriceEntry.COLUMN_DEFINDEX, defindex); break; case "quality": quality = parser.getIntValue(); values.put(PriceEntry.COLUMN_ITEM_QUALITY, quality); break; case "tradable": tradable = parser.getIntValue(); values.put(PriceEntry.COLUMN_ITEM_TRADABLE, tradable); break; case "craftable": craftable = parser.getIntValue(); values.put(PriceEntry.COLUMN_ITEM_CRAFTABLE, craftable); break; case "price_index": values.put(PriceEntry.COLUMN_PRICE_INDEX, parser.getIntValue()); break; case "australium": values.put(PriceEntry.COLUMN_AUSTRALIUM, parser.getIntValue()); break; case "currency": values.put(PriceEntry.COLUMN_CURRENCY, parser.getText()); break; case "value": value = parser.getDoubleValue(); values.put(PriceEntry.COLUMN_PRICE, value); break; case "value_high": high = parser.getDoubleValue(); values.put(PriceEntry.COLUMN_PRICE_HIGH, high); break; case "value_raw": raw = parser.getDoubleValue(); break; case "last_update": values.put(PriceEntry.COLUMN_LAST_UPDATE, parser.getLongValue()); break; case "difference": values.put(PriceEntry.COLUMN_DIFFERENCE, parser.getDoubleValue()); break; } } values.put(PriceEntry.COLUMN_WEAPON_WEAR, 0); if (quality == Quality.UNIQUE && tradable == 1 && craftable == 1) { if (defindex == 143) { //buds Utility.putDouble(mEditor, mContext.getString(R.string.pref_buds_raw), raw); mEditor.apply(); } else if (defindex == 5002) { //metal double highPrice = high == null ? 0 : high; if (highPrice > value) { //If the metal has a high price, save the average as raw. Utility.putDouble(mEditor, mContext.getString(R.string.pref_metal_raw_usd), ((value + highPrice) / 2)); } else { //save as raw price Utility.putDouble(mEditor, mContext.getString(R.string.pref_metal_raw_usd), value); } mEditor.apply(); } else if (defindex == 5021) { //key Utility.putDouble(mEditor, mContext.getString(R.string.pref_key_raw), raw); mEditor.apply(); } } return values; }
From source file:org.gvnix.web.json.DataBinderDeserializer.java
/** * Deserializes JSON object into Map<String, String> format to use it in a * Spring {@link DataBinder}.//w w w .j av a 2 s. c o m * <p/> * Iterate over every object's property and delegates on * {@link #readField(JsonParser, DeserializationContext, JsonToken, String)} * * @param parser JSON parser * @param ctxt context * @param prefix object DataBinder path * @return property values * @throws IOException * @throws JsonProcessingException */ public Map<String, String> readObject(JsonParser parser, DeserializationContext ctxt, String prefix) throws IOException, JsonProcessingException { JsonToken t = parser.getCurrentToken(); if (t == JsonToken.START_OBJECT) { t = parser.nextToken(); // Skip it to locate on first object data token } // Deserialize object properties Map<String, String> deserObj = new HashMap<String, String>(); for (; t != JsonToken.END_OBJECT; t = parser.nextToken()) { Map<String, String> field = readField(parser, ctxt, t, prefix); deserObj.putAll(field); } return deserObj; }
From source file:org.fluentd.jvmwatcher.JvmWatcher.java
/** * @param parser/*from www . j a v a2 s .c o m*/ * @throws JsonParseException * @throws IOException */ private void loadTarget(JsonParser parser) throws JsonParseException, IOException { if (parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() != JsonToken.END_ARRAY) { if (parser.getCurrentToken() == JsonToken.START_OBJECT) { String shortName = null; String pattern = null; while (parser.nextToken() != JsonToken.END_OBJECT) { if ((parser.getCurrentToken() == JsonToken.FIELD_NAME) && (parser.getText().compareTo("shortname") == 0)) { if (parser.nextToken() == JsonToken.VALUE_STRING) { shortName = parser.getText(); } } if ((parser.getCurrentToken() == JsonToken.FIELD_NAME) && (parser.getText().compareTo("pattern") == 0)) { if (parser.nextToken() == JsonToken.VALUE_STRING) { pattern = parser.getText(); } } } // add target pattern Pattern regexPattern = Pattern.compile(pattern); LocalJvmInfo.addTargetProcessPattern(shortName, regexPattern); } } } }
From source file:org.oscim.utils.overpass.OverpassAPIReader.java
private void parseNode(JsonParser jp) throws JsonParseException, IOException { long id = 0;/*from ww w . jav a 2 s . c om*/ double lat = 0, lon = 0; TagSet tags = null; while (jp.nextToken() != JsonToken.END_OBJECT) { String name = jp.getCurrentName(); jp.nextToken(); if ("id".equals(name)) id = jp.getLongValue(); else if ("lat".equals(name)) lat = jp.getDoubleValue(); else if ("lon".equals(name)) lon = jp.getDoubleValue(); else if ("tags".equals(name)) tags = parseTags(jp); } // log("node: "+id + " "+ lat + " " + lon); OsmNode node = new OsmNode(lat, lon, tags, id); ownNodes.add(node); nodesById.put(Long.valueOf(id), node); }