private ObjectNode getDeltaPropValue(String json) { try { JsonFactory jf = new JsonFactory(); JsonParser jp = jf.createJsonParser(json); ObjectMapper objMap = new ObjectMapper(jf); jp.setCodec(objMap); return (ObjectNode) jp.readValueAsTree(); } catch (IOException e) { return null; } } }
private JsonNode getNextJsonNode() throws JsonParseException, IOException, MalformedRecordException { if (!firstObjectConsumed) { firstObjectConsumed = true; return firstJsonNode; } while (true) { final JsonToken token = jsonParser.nextToken(); if (token == null) { return null; } switch (token) { case END_OBJECT: continue; case START_OBJECT: return jsonParser.readValueAsTree(); case END_ARRAY: case START_ARRAY: continue; default: throw new MalformedRecordException("Expected to get a JSON Object but got a token of type " + token.name()); } } }
private JsonNode getNextJsonNode() throws JsonParseException, IOException, MalformedRecordException { if (!firstObjectConsumed) { firstObjectConsumed = true; return firstJsonNode; } while (true) { final JsonToken token = jsonParser.nextToken(); if (token == null) { return null; } switch (token) { case END_OBJECT: continue; case START_OBJECT: return jsonParser.readValueAsTree(); case END_ARRAY: case START_ARRAY: return null; default: throw new MalformedRecordException("Expected to get a JSON Object but got a token of type " + token.name()); } } }
@Override public Iterable<RecordWithMetadata<?>> convertRecord(Object outputSchema, RecordWithMetadata<byte[]> inputRecord, WorkUnitState workUnit) throws DataConversionException { try { try (JsonParser parser = jsonFactory.createJsonParser(inputRecord.getRecord())) { parser.setCodec(objectMapper); JsonNode jsonNode = parser.readValueAsTree(); // extracts required record if (!jsonNode.has(RECORD_KEY)) { throw new DataConversionException("Input data does not have record."); } String record = jsonNode.get(RECORD_KEY).getTextValue(); // Extract metadata field Metadata md = new Metadata(); if (jsonNode.has(METADATA_KEY) && jsonNode.get(METADATA_KEY).has(METADATA_RECORD_KEY)) { md.getRecordMetadata().putAll(objectMapper.readValue(jsonNode.get(METADATA_KEY).get(METADATA_RECORD_KEY), Map.class)); } return Collections.singleton(new RecordWithMetadata<>(record, md)); } } catch (IOException e) { throw new DataConversionException(e); } }
public JsonRecordReader(final InputStream in, RecordSchema recordSchema) throws IOException, MalformedRecordException { this.recordSchema = recordSchema; try { jsonParser = new JsonFactory().createJsonParser(in); jsonParser.setCodec(new ObjectMapper()); JsonToken token = jsonParser.nextToken(); if (token == JsonToken.START_ARRAY) { array = true; token = jsonParser.nextToken(); } else { array = false; } if (token == JsonToken.START_OBJECT) { firstJsonNode = jsonParser.readValueAsTree(); } else { firstJsonNode = null; } } catch (final JsonParseException e) { throw new MalformedRecordException("Could not parse data as JSON", e); } }
public AbstractJsonRowRecordReader(final InputStream in, final ComponentLog logger) throws IOException, MalformedRecordException { this.logger = logger; try { jsonParser = jsonFactory.createJsonParser(in); jsonParser.setCodec(codec); JsonToken token = jsonParser.nextToken(); if (token == JsonToken.START_ARRAY) { array = true; token = jsonParser.nextToken(); // advance to START_OBJECT token } else { array = false; } if (token == JsonToken.START_OBJECT) { // could be END_ARRAY also firstJsonNode = jsonParser.readValueAsTree(); } else { firstJsonNode = null; } } catch (final JsonParseException e) { throw new MalformedRecordException("Could not parse data as JSON", e); } }
@Override public JsonNode readValueAsTree() throws IOException, JsonProcessingException { return parser.readValueAsTree(); }
@Override public JsonNode readValueAsTree() throws IOException, JsonProcessingException { return parser.readValueAsTree(); }
@Override public String deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.readValueAsTree(); return node.get(VALUE).getTextValue(); }
@Override public OpenType deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { return OpenTypeFormatter.deserialize(jp.readValueAsTree()); } }
@Override public PostCategory deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.readValueAsTree(); return PostCategory.valueOf(node.get("code").getTextValue().replace('-', '_').toUpperCase()); } }
@Override public MembershipState deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.readValueAsTree(); return MembershipState.valueOf(node.get("code").getTextValue().replace('-', '_').toUpperCase()); } }
@Override public Integer deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode tree = jp.readValueAsTree(); return tree.has("count") ? tree.get("count").asInt() : 0; } }
@Override public Share deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.setDeserializationConfig(ctxt.getConfig()); jp.setCodec(mapper); return mapper.readValue(jp.readValueAsTree().get("share"), new TypeReference<Share>() { }); }
static TabularData deserializeTabularData(final JsonParser parser) throws IOException { final JsonNode json = parser.readValueAsTree(); final TabularType type = (TabularType) OpenTypeFormatter.deserialize(json.get(TYPE_FIELD)); return deserialize(type, json.get(ROWS_FIELDS), parser.getCodec()); }
static CompositeData deserializeCompositeData(final JsonParser parser) throws IOException { final JsonNode json = parser.readValueAsTree(); final CompositeType type = (CompositeType) OpenTypeFormatter.deserialize(json.get(TYPE_FIELD)); return deserialize(type, json.get(VALUE_FIELD), parser.getCodec()); }
@Override public Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonNode tree = jp.readValueAsTree(); if (tree instanceof ArrayNode) { return handleArray(jp, (ArrayNode) tree); } return handleObject(jp, tree); }
private ObjectNode getDeltaPropValue(String json) { try { JsonFactory jf = new JsonFactory(); JsonParser jp = jf.createJsonParser(json); ObjectMapper objMap = new ObjectMapper(jf); jp.setCodec(objMap); return (ObjectNode) jp.readValueAsTree(); } catch (IOException e) { return null; } } }
@Override public Mail deserialize(JsonParser jsonParser, DeserializationContext ctxt) throws IOException { jsonNode = jsonParser.readValueAsTree(); return new Mail( getValue(FROM_ADDRESS), getValue(TO_ADDRESS), getValue(SUBJECT), getValue(MESSAGE) ); }
@Override public JzonElement parse(String json) { try { JsonParser parser = JSON.getJsonFactory().createJsonParser(json); parser.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); parser.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); return wrap(parser.readValueAsTree()); } catch (JsonProcessingException e) { throw new JacksonWrapperException("Failed to parse JSON", e); } catch (IOException e) { throw new JacksonWrapperException("IOException parsing a String?", e); } }