Example usage for com.fasterxml.jackson.core JsonToken VALUE_NULL

List of usage examples for com.fasterxml.jackson.core JsonToken VALUE_NULL

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonToken VALUE_NULL.

Prototype

JsonToken VALUE_NULL

To view the source code for com.fasterxml.jackson.core JsonToken VALUE_NULL.

Click Source Link

Document

VALUE_NULL is returned when encountering literal "null" in value context

Usage

From source file:com.cedarsoft.serialization.serializers.jackson.LicenseSerializer.java

@Nonnull
@Override/*from  w  ww  .  j a  v a2  s  . com*/
public License deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws VersionException, IOException, JsonProcessingException {
    //If there is a subtype it *must* be cc
    JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom);
    parserWrapper.nextToken();
    parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME);
    if (deserializeFrom.getCurrentName().equals(PROPERTY_SUB_TYPE)) {
        parserWrapper.nextToken();
        parserWrapper.verifyCurrentToken(JsonToken.VALUE_STRING);
        String subType = deserializeFrom.getText();

        if (!subType.equals(SUB_TYPE_CC)) {
            throw new IllegalStateException("Invalid sub type: " + subType);
        }
        parserWrapper.nextToken();
        parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME);
        String currentName = parserWrapper.getCurrentName();

        if (!PROPERTY_ID.equals(currentName)) {
            throw new JsonParseException(
                    "Invalid field. Expected <" + PROPERTY_ID + "> but was <" + currentName + ">",
                    parserWrapper.getCurrentLocation());
        }
    }

    //id
    assert deserializeFrom.getCurrentName().equals(PROPERTY_ID);
    parserWrapper.nextToken();
    parserWrapper.verifyCurrentToken(JsonToken.VALUE_STRING);
    String id = deserializeFrom.getText();
    //name
    parserWrapper.nextToken();
    parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME);
    String currentName1 = parserWrapper.getCurrentName();

    if (!PROPERTY_NAME.equals(currentName1)) {
        throw new JsonParseException(
                "Invalid field. Expected <" + PROPERTY_NAME + "> but was <" + currentName1 + ">",
                parserWrapper.getCurrentLocation());
    }
    parserWrapper.nextToken();
    String name = deserializeFrom.getText();
    //url
    parserWrapper.nextToken();
    parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME);
    String currentName = parserWrapper.getCurrentName();

    if (!PROPERTY_URL.equals(currentName)) {
        throw new JsonParseException(
                "Invalid field. Expected <" + PROPERTY_URL + "> but was <" + currentName + ">",
                parserWrapper.getCurrentLocation());
    }
    JsonToken token = deserializeFrom.nextToken();
    @Nullable
    URL url;
    if (token == JsonToken.VALUE_NULL) {
        url = null;
    } else {
        url = new URL(deserializeFrom.getText());
    }
    //Finally closing element
    parserWrapper.nextToken(JsonToken.END_OBJECT);

    //Constructing the deserialized object
    try {
        return License.get(id);
    } catch (IllegalArgumentException ignore) {
        return new License(id, name, url);
    }
}

From source file:org.mashti.jetson.util.JsonParserUtil.java

/**
 * Consumes the next token from a JSON stream and checks that the token is a {@link JsonToken#VALUE_NULL}.
 * Throws {@link JsonParseException} if the token is not a {@link JsonToken#VALUE_NULL}.
 *
 * @param parser the parser to read from
 * @throws IOException Signals that an I/O exception has occurred.
 *///from w  w w  . j av a2  s  . c  om
private static void expectNullValue(final JsonParser parser) throws IOException {

    if (parser.nextToken() != JsonToken.VALUE_NULL) {
        throw new JsonParseException("expected null value", parser.getCurrentLocation());
    }
}

From source file:com.sdl.odata.unmarshaller.json.core.JsonProcessor.java

/**
 * Process an embedded object./*from w  w  w.  j  a va 2s.c  o  m*/
 *
 * @param jsonParser the parser
 * @return map with embedded object key:values
 * @throws IOException If unable to read input parser
 */
private Object getEmbeddedObject(JsonParser jsonParser) throws IOException {
    LOG.info("Start parsing an embedded object.");
    Map<String, Object> embeddedMap = new HashMap<>();
    while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
        String key = jsonParser.getText();
        jsonParser.nextToken();
        JsonToken token = jsonParser.getCurrentToken();
        if (token == JsonToken.START_ARRAY) {
            Object embeddedArray = getCollectionValue(jsonParser);
            embeddedMap.put(key, embeddedArray);
        } else if (token == JsonToken.START_OBJECT) {
            Object embeddedObject = getEmbeddedObject(jsonParser);
            embeddedMap.put(key, embeddedObject);
        } else {
            if (token.equals(JsonToken.VALUE_NULL)) {
                embeddedMap.put(key, null);
            } else {
                embeddedMap.put(key, jsonParser.getText());
            }
        }
    }
    return embeddedMap;
}

From source file:net.signalr.client.json.jackson.JacksonReader.java

@Override
public void readNull() {
    final JsonToken token;

    try {//from   w  w  w .j a v a 2 s  . c o m
        token = _parser.nextToken();
        _parser.clearCurrentToken();
    } catch (final Exception e) {
        throw new JsonException(e);
    }

    if (token != JsonToken.VALUE_NULL) {
        throw new JsonException("Expected VALUE_NULL but was " + token);
    }
}

From source file:com.boundary.zoocreeper.Restore.java

private static BackupZNode readZNode(JsonParser jp, String path) throws IOException {
    expectNextToken(jp, JsonToken.START_OBJECT);
    long ephemeralOwner = 0;
    byte[] data = null;
    final List<ACL> acls = Lists.newArrayList();
    final Set<String> seenFields = Sets.newHashSet();
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        jp.nextValue();/*from   ww w. ja  v a2s .co m*/
        final String fieldName = jp.getCurrentName();
        seenFields.add(fieldName);
        if (Backup.FIELD_EPHEMERAL_OWNER.equals(fieldName)) {
            ephemeralOwner = jp.getLongValue();
        } else if (Backup.FIELD_DATA.equals(fieldName)) {
            if (jp.getCurrentToken() == JsonToken.VALUE_NULL) {
                data = null;
            } else {
                data = jp.getBinaryValue();
            }
        } else if (Backup.FIELD_ACLS.equals(fieldName)) {
            readACLs(jp, acls);
        } else {
            LOGGER.debug("Ignored field: {}", fieldName);
        }
    }
    if (!seenFields.containsAll(REQUIRED_ZNODE_FIELDS)) {
        throw new IOException("Missing required fields: " + REQUIRED_ZNODE_FIELDS);
    }
    return new BackupZNode(path, ephemeralOwner, data, acls);
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

public final NativeRequest.Asset.Builder readReqAsset(JsonParser par) throws IOException {
    NativeRequest.Asset.Builder asset = NativeRequest.Asset.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readReqAssetField(par, asset, fieldName);
        }/*  w w w  .  j a va2 s.c o m*/
    }
    return asset;
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

/**
 * Desserializes a {@link BidRequest} from JSON, with a provided {@link JsonParser}
 * which allows several choices of input and encoding.
 *//*from ww w  .  j  a v a  2s  .c  om*/
public final BidRequest.Builder readBidRequest(JsonParser par) throws IOException {
    if (emptyToNull(par)) {
        return null;
    }

    BidRequest.Builder req = BidRequest.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readBidRequestField(par, req, fieldName);
        }
    }
    return req;
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

public final NativeRequest.Asset.Title.Builder readReqTitle(JsonParser par) throws IOException {
    NativeRequest.Asset.Title.Builder title = NativeRequest.Asset.Title.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readReqTitleField(par, title, fieldName);
        }//w w w  .  ja  v a  2  s.  co  m
    }
    return title;
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

public final NativeRequest.Asset.Image.Builder readReqImage(JsonParser par) throws IOException {
    NativeRequest.Asset.Image.Builder req = NativeRequest.Asset.Image.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readReqImageField(par, req, fieldName);
        }// w  ww.  j  av a 2 s  .co m
    }
    return req;
}

From source file:com.amazonaws.services.cloudtrail.processinglibrary.serializer.AbstractEventSerializer.java

/**
 * Parse user identity in CloudTrailEventData
 *
 * @param eventData//w  ww . j  a  va2  s  .  co  m
 * @throws IOException
 */
private void parseUserIdentity(CloudTrailEventData eventData) throws IOException {
    JsonToken nextToken = this.jsonParser.nextToken();
    if (nextToken == JsonToken.VALUE_NULL) {
        eventData.add(CloudTrailEventField.userIdentity.name(), null);
        return;
    }

    if (nextToken != JsonToken.START_OBJECT) {
        throw new JsonParseException("Not a UserIdentity object", this.jsonParser.getCurrentLocation());
    }

    UserIdentity userIdentity = new UserIdentity();

    while (this.jsonParser.nextToken() != JsonToken.END_OBJECT) {
        String key = this.jsonParser.getCurrentName();

        switch (key) {
        case "type":
            userIdentity.add(CloudTrailEventField.type.name(), this.jsonParser.nextTextValue());
            break;
        case "principalId":
            userIdentity.add(CloudTrailEventField.principalId.name(), this.jsonParser.nextTextValue());
            break;
        case "arn":
            userIdentity.add(CloudTrailEventField.arn.name(), this.jsonParser.nextTextValue());
            break;
        case "accountId":
            userIdentity.add(CloudTrailEventField.accountId.name(), this.jsonParser.nextTextValue());
            break;
        case "accessKeyId":
            userIdentity.add(CloudTrailEventField.accessKeyId.name(), this.jsonParser.nextTextValue());
            break;
        case "userName":
            userIdentity.add(CloudTrailEventField.userName.name(), this.jsonParser.nextTextValue());
            break;
        case "sessionContext":
            this.parseSessionContext(userIdentity);
            break;
        case "invokedBy":
            userIdentity.add(CloudTrailEventField.invokedBy.name(), this.jsonParser.nextTextValue());
            break;
        default:
            userIdentity.add(key, this.parseDefaultValue(key));
            break;
        }
    }
    eventData.add(CloudTrailEventField.userIdentity.name(), userIdentity);
}