Example usage for com.fasterxml.jackson.core JsonParser getCurrentName

List of usage examples for com.fasterxml.jackson.core JsonParser getCurrentName

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser getCurrentName.

Prototype

public abstract String getCurrentName() throws IOException, JsonParseException;

Source Link

Document

Method that can be called to get the name associated with the current token: for JsonToken#FIELD_NAME s it will be the same as what #getText returns; for field values it will be preceding field name; and for others (array values, root-level values) null.

Usage

From source file:KV78Tester.java

public void checkLines(BufferedReader in) throws JsonParseException, IOException {
    JsonFactory f = new JsonFactory();
    JsonParser jp = f.createJsonParser(in);
    String line = "";
    jp.nextToken();/*from   ww w. j  a  va 2  s  .co  m*/
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String namefield = jp.getCurrentName();
        if (namefield != null && namefield.contains("_")) {
            line = namefield;
        }
        jp.nextToken();
        if ("Actuals".equals(namefield)) {
            while (jp.nextToken() != JsonToken.END_OBJECT) {
                jp.getCurrentName();
                jp.nextToken();
                while (jp.nextToken() != JsonToken.END_OBJECT) {
                    jp.nextToken();
                }
            }
        } else if ("Network".equals(namefield)) {
            while (jp.nextToken() != JsonToken.END_OBJECT) {
                int userstop = Integer.parseInt(jp.getCurrentName());
                jp.nextToken();
                checkStop(jp, line, userstop);
            }
        }
    }
}

From source file:net.troja.eve.crest.CrestDataProcessor.java

private String processNext(final JsonParser jsonParser) throws IOException {
    String next = null;/*from  w  w w.ja  v a 2s  . com*/
    jsonParser.nextToken();
    if (JsonPaths.HREF.equals(jsonParser.getCurrentName())) {
        jsonParser.nextToken();
        next = jsonParser.getText();
        jsonParser.nextToken();
    }
    return next;
}

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();/*  ww  w.ja v  a  2s.  com*/
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String line = jp.getCurrentName();
        lines.add(line);
        jp.nextToken();
    }
    jp.close();
    in.close();
    return lines.toArray(new String[lines.size()]);
}

From source file:javaslang.jackson.datatype.deserialize.MapDeserializer.java

@Override
public Map<?, ?> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
    final java.util.List<Tuple2<Object, Object>> result = new java.util.ArrayList<>();
    while (p.nextToken() != JsonToken.END_OBJECT) {
        String name = p.getCurrentName();
        Object key = keyDeserializer.deserializeKey(name, ctxt);
        p.nextToken();//from   ww  w  .  jav  a  2  s .  com
        result.add(Tuple.of(key, valueDeserializer.deserialize(p, ctxt)));
    }
    if (TreeMap.class.isAssignableFrom(handledType())) {
        return TreeMap.ofEntries(keyComparator, result);
    }
    if (LinkedHashMap.class.isAssignableFrom(handledType())) {
        return LinkedHashMap.ofEntries(result);
    }
    // default deserialization [...] -> Map
    return HashMap.ofEntries(result);
}

From source file:org.apache.ode.jacob.soup.jackson.ChannelRefDeserializer.java

@Override
public ChannelRef deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    Object target = null;//  w  ww  . j av a  2 s .  c  o  m

    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String fieldname = jp.getCurrentName();
        if (jp.getCurrentToken() == JsonToken.FIELD_NAME) {
            // if we're not already on the field, advance by one.
            jp.nextToken();
        }

        if ("target".equals(fieldname)) {
            target = jp.readValueAs(Object.class);
        }
    }

    if (target == null) {
        throw ctxt.mappingException(ChannelRef.class);
    }

    return new ChannelRef(target);
}

From source file:javaslang.jackson.datatype.deserialize.MultimapDeserializer.java

@Override
public Multimap<?, ?> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
    final java.util.List<Tuple2<Object, Object>> result = new java.util.ArrayList<>();
    while (p.nextToken() != JsonToken.END_OBJECT) {
        String name = p.getCurrentName();
        Object key = keyDeserializer.deserializeKey(name, ctxt);
        p.nextToken();/*  ww w .j a v a 2s  . co m*/
        ArrayList<?> list = (ArrayList<?>) containerDeserializer.deserialize(p, ctxt);
        for (Object elem : list) {
            result.add(Tuple.of(key, elem));
        }
    }
    if (TreeMultimap.class.isAssignableFrom(handledType())) {
        return TreeMultimap.withSeq().ofEntries(keyComparator, result);
    }
    if (LinkedHashMultimap.class.isAssignableFrom(handledType())) {
        return LinkedHashMultimap.withSeq().ofEntries(result);
    }
    // default deserialization [...] -> Map
    return HashMultimap.withSeq().ofEntries(result);
}

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());
    }/*  w w w .ja  va  2  s. com*/
    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:org.o3project.ocnrm.model.bind.OduBindingData.java

@Override
public void bind(String name, String resource) throws JsonParseException, JsonMappingException, IOException {
    JsonFactory factory = new JsonFactory();
    JsonParser jp = factory.createParser(resource.toString());
    jp.nextToken();// w w w .  jav  a  2  s .  c  om
    OduMapping terminationPoint = new OduMapping();
    terminationPoint.setName(name);
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String fieldname = jp.getCurrentName();
        jp.nextToken();
        if ("dpid".equals(fieldname)) {
            terminationPoint.setDpid(jp.getText());
        } else if ("port".equals(fieldname)) {
            terminationPoint.setPort(jp.getText());
        } else if ("odutype".equals(fieldname)) {
            terminationPoint.setOdutype(jp.getText());
        } else if ("ts".equals(fieldname)) {
            String ts = jp.getText();
            terminationPoint.setTs(ts);
        } else if ("tpn".equals(fieldname)) {
            terminationPoint.setTpn(jp.getText());
        } else {
            throw new IllegalStateException("Unrecognized field '" + fieldname + "'!");
        }
        bindMap.put(terminationPoint.getName(), terminationPoint);
    }
    jp.close();
}

From source file:com.pursuer.reader.easyrss.data.parser.TagJSONParser.java

public void parse() throws JsonParseException, IOException, IllegalStateException {
    final JsonFactory factory = new JsonFactory();
    final JsonParser parser = factory.createJsonParser(input);
    Tag tag = new Tag();
    int level = 0;
    boolean found = false;
    while (parser.nextToken() != null) {
        final String name = parser.getCurrentName();
        switch (parser.getCurrentToken()) {
        case START_OBJECT:
        case START_ARRAY:
            level++;/*from www .j a  v a 2s. co m*/
            break;
        case END_OBJECT:
        case END_ARRAY:
            level--;
            break;
        case VALUE_STRING:
            if (level == 3) {
                if ("id".equals(name)) {
                    tag.setUid(parser.getText());
                } else if ("sortid".equals(name)) {
                    tag.setSortId(parser.getText());
                }
            }
        case FIELD_NAME:
            if (level == 1 && "tags".equals(name)) {
                found = true;
            }
        default:
        }
        if (level == 2) {
            if (tag.getUid() != null && listener != null) {
                listener.onTagRetrieved(tag);
            }
            tag = new Tag();
        }
    }
    parser.close();
    if (!found) {
        throw new IllegalStateException("Invalid JSON input");
    }
}