FasterXML / FasterXML/jackson-dataformats-text
Add support for "name:type" style Headers
- 主要语言
- Java
- 星标
- 455
- 派生
- 164
- 平均合并
- 6 天 10 小时
- 30 天内合并 PR
- 2
描述
Currently use of Header row (and manual construction of `CsvSchema`) assume that headers only specify name of column position. But there exists usage, wherein header line contain type mappings too:
```
name:string,enabled:boolean, ...
```
It would be great to support this.
There is an immediate problem with "type" definition: as things are, only a very limited set of types is recognized for `CsvColumn`. But we could divide implementation into two main parts:
1. Support mapping to existing small set of types (probably allowing case-insensitive type definition)
2. Support configurability of extension types, by providing converters from `String` value into target types.
For (2) there is also additional step needed: whereas we could expose `JsonToken` values for:
1. Strings
2. Numbers
3. Booleans
4. nulls
everything else would need to be exposed as `JsonToken.VALUE_EMBEDDED_OBJECT`.
But if so, any and all types could be supported -- as long as `jackson-databind` deserializers (`JsonDeserializer` impelmentations) consider possibility of embedded type.
Doing above is not trivial, but would be a very powerful mechanism for customized binding from CSV data. Some amount of duplication would likely result (for Converters) but that seems acceptable.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。