code: @Override
  	public boolean next(LongWritable key, Text value) throws IOException {
  		JsonToken token;
  		
  		// first call to nextKeyValue() so we need to create the parser and move to the
  		// feature array
  		if (parser == null) {
  			parser = new JsonFactory().createJsonParser(inputStream);
  			
  			parser.setCodec(new ObjectMapper());
  			
  			token = parser.nextToken();
  			
  			while (token != null && !(token == JsonToken.START_ARRAY &&
  					parser.getCurrentName() != null && parser.getCurrentName().equals("features"))) {
  				token = parser.nextToken();
  			}
  			
  			if (token == null) return false; // never found the features array
  		}
  
  		key.set(parser.getCurrentLocation().getCharOffset());
  		
  		token = parser.nextToken();
  		
  		// this token should be a start object with no name
  		if (token == null || !(token == JsonToken.START_OBJECT && parser.getCurrentName() == null))
  			return false;
  
  		ObjectNode node = parser.readValueAsTree();
  
  		value.set(node.toString());
  
  		return true;
  	}
docs: Both Esri JSON and GeoJSON conveniently have "features"