title: jackson-dataformat-csv: Mapping number value without POJO
body: <p>I'm trying to parse a CSV file using <code>jackson-dataformat-csv</code> and I want to map the numeric column to the Number java type.</p>
  
  <pre><code>CsvSchema schema = CsvSchema.builder().setUseHeader(true)
      .addColumn("firstName", CsvSchema.ColumnType.STRING)
      .addColumn("lastName", CsvSchema.ColumnType.STRING)
      .addColumn("age", CsvSchema.ColumnType.NUMBER)
      .build();
  
  CsvMapper csvMapper = new CsvMapper();  
  
  MappingIterator&lt;Map&lt;String, Object&gt;&gt; mappingIterator = csvMapper
          .readerFor(Map.class)
          .with(schema)
          .readValues(is);        
  
  while (mappingIterator.hasNext()) {
      Map&lt;String, Object&gt; entryMap = mappingIterator.next();
      Number age = (Number) entryMap.get("age");
  }       
  </code></pre>
  
  <p>I'm expecting <code>entryMap.get("age")</code> should be a <code>Number</code>, but I get <code>String</code> instead.</p>
  
  <p>My CSV file:</p>
  
  <pre><code>firstName,lastName,age
  John,Doe,21
  Error,Name,-10
  </code></pre>
  
  <p>I know that <code>CsvSchema</code> works fine with POJOs, but I need to process arbitrary CSV schemas, so I can't create a new java class for every case.</p>
  
  <p>Any way to parse CSV into a typed <code>Map</code> or <code>Array</code>?</p>