FasterXML / FasterXML/jackson-core
JsonParser.getCurrentLocation is not updated for `DataInput` input
- Lingua principale
- Java
- Stelle
- 2.4k
- Fork
- 928
- Merge medio
- 2g 18h
- PR unite (30g)
- 24
Descrizione
### Issue
Using a `JsonParser` instantiated via `JsonParser.createParser(DataInput)` does not update `JsonLocation` values returned by `JsonParser.getCurrentLocation` (everything defaults to -1).
Switching to `JsonParser.createParser(InputStream)` with the same input object populates the `JsonLocation` data as expected.
### Use case
I use `JsonParser` to manually extract slices of Netty byte buffers (that contain Json). To feed Netty ByteBufs to JsonParser, I have to wrap the `ByteBuf` in a `ByteBufInputStream` which `extends InputStream` and `implements DataInput`. `JsonParser` accepts both types so explicit casting is required.
* This works and populates `JsonLocation` values:
```
ByteBuf buf = ...;
JsonParser parser = JSON_FACTORY.createParser((InputStream) new ByteBufInputStream(buf));
```
* This does not populate `JsonLocation` values:
```
ByteBuf buf = ...;
JsonParser parser = JSON_FACTORY.createParser((DataInput) new ByteBufInputStream(buf));
```
Issue affects at least versions 2.9.8 and 2.10.2.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.