Comments (5)
Thank you for your comment!
jackson-jq aims to be a compatible jq-1.5 (or the future version of jq once it's released) implementation.
However, as jackson-jq being a java library, some features may differ when/if implemented in the future: Streaming, I/O, and Modules.
- For Streaming and I/O feature, I'm not sure if these can be added to jackson-jq. Actually, I have never tried the features on jq myself yet.
- For Modules, I've been thinking to make it more like a java integration feature which enables importing static methods directly from java classes or something like that.
Other than those, any incompatible behaviors in core language features and built-in functions are considered defects and should be fixed. The biggest issue I'm aware of currently is the lack of Complex Assignment support.
That said, the development will probably be slow. I will continue to work on this, but I haven't been able to spare much time recently.
BTW, I will be releasing jackson-jq v0.0.7 in a few days, which comes with some jq-1.5 features, such as destructuring, regular expressions (with Oniguruma), and so on.
from jackson-jq.
FWIW, I did an experimental Java integration this week that enables me to call static Java methods. Basically, it's a Function
implementation which wraps a java.lang.reflect.Method
and then takes care of the type conversions. It's experimental, so it only handles some of the types, but the basic approach works. I wrote it in Scala, though.
from jackson-jq.
Yes, I think. I also use jackson-jq for transforming responses from APIs before mapping to Java objects, eliminating the intermediate Java objects.
You should try jackson-jq
tool and see if the exact jq code you want to use work or not.
https://github.com/eiiches/jackson-jq#using-a-jackson-jq-command-line-tool
Also, the list of features not yet implemented in jackson-jq might be of help.
https://github.com/eiiches/jackson-jq#differences-between-jq-and-jackson-jq
Does this answer your question?
from jackson-jq.
Wanted to say firstly thanks a lot for this excellent implementation of jq!
Secondly, I had a similar question - I see you've implemented this from scratch, starting with a javacc parser definition, and implementing nearly everything. An absolutely epic amount of work!
So I wondered if/how you planned to maintain feature parity?
from jackson-jq.
I'm closing this for now. Feel free to reopen if you have further questions.
from jackson-jq.
Related Issues (20)
- Shadow JAR causes exception HOT 3
- Complex Assignment not working HOT 2
- Publish Scope as a CDI bean and make ObjectMapper injectable
- [Announcement] Introducing Quarkus Extension for Jackson JQ HOT 1
- Stackoverflow error HOT 2
- Improved quarkus support: add jandex indexes HOT 2
- Improved quarkus support: make the jq json node model public HOT 3
- Improved extensibility: add an official JqFunction annotation
- Change scope constructor from private to protected HOT 3
- brew install jackson-jq Error: jackson-jq: wrong number of arguments (given 1, expected 0)
- 3 * "-" HOT 2
- -f option
- How to use --raw-output option from Java? HOT 3
- Update jackson-databind to 2.13.4.1 at least in order to fix vulnerabilities CVE-2022-42004 and CVE-2022-42003 HOT 7
- test with digit class of character throws an exception from jcodings HOT 1
- gsub's implementation causes stack overflows
- Support for fromdateiso8601 and todateiso8601 HOT 1
- Add uuid5 in "jackson-jq/extras" module
- Release 1.0.0
- "del" not working properly HOT 2
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 jackson-jq.