FasterXML / FasterXML/jackson-dataformats-text
Add support for "name:type" style Headers
- Ngôn ngữ chính
- Java
- Star
- 455
- Fork
- 164
- Merge trung bình
- 6 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 2
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.