Comments (4)
negative index is not supported yet
from jsonsurfer.
After looking into it, It seems like it's better for the code base to keep it without this functionality. I came up with:
Checking length of array and then converting to JsonPath with positive index.
Surfing Context compares all incoming node to the JsonPath required and then dispatching it to all listeners.
With this idea in principle library would need to traverse array two times, first to determine the size and then to dispatch.
Other libraries are able to do this because they are keeping the data in the memory but JSON Surfer is streaming.
from jsonsurfer.
exactly
from jsonsurfer.
I think maybe throwing an exception each time someone creates slice with negative index might be a good idea as It's not really a 'legal move' that now works by just printing entire array but this one probably would need to be released in major release as it could break some code for clients.
We could also just adapt documentation so it's clear.
from jsonsurfer.
Related Issues (20)
- Parsing JSON Sequence HOT 2
- Consider implementing RFC 9535
- Enhancement: Ability to listen to `startObject`/`endObject` tokens HOT 2
- Any way to listen "parsing ended" event? HOT 1
- Add ability to parse 'live' JSON files HOT 2
- JsonPath/SQL standard HOT 1
- The underlying Jackson parser doesn't support BigInteger HOT 4
- Could CollectOneListner be made public now collectOne is deprecated? No simple replacement exists? HOT 4
- Improve filtering on objects (argument matching nested object) HOT 6
- Create JPATH Compare using not equals (!=)
- Gson before 2.8.9 are vulnerable HOT 1
- Support for feeding via bytebuffers HOT 2
- Is it possible to make multiple queries in one jsonPath? HOT 1
- Dependency com.alibaba:fastjson, leading to CVE problem
- Problems using JsonSurfer in projects using a different version of ANTLR HOT 1
- Support for modifying values during non blocking streaming
- Is JsonSurfer thread-safe? HOT 1
- [BUG] Resumable parser does not accept $.[*] HOT 3
- Runtime error: ANTLR Runtime version 4.7.2 used for parser compilation does not match the current runtime version 4.10.1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jsonsurfer.