chriskilding / jackson-dataformat-ron Goto Github PK
View Code? Open in Web Editor NEWExperimental Rust Object Notation (RON) support for Jackson
License: MIT License
Experimental Rust Object Notation (RON) support for Jackson
License: MIT License
How can we address RON field ordering in this library?
To do:
Map
subtype that preserves order e.g. LinkedHashMap
Add a RON write feature (in the style of JsonWriteFeature
s) which lets the user decide whether the generator should write trailing commas or not.
Find a way to support enums that contain fields in the mapper.
Example:
Foo(1, true)
The JSON ObjectMapper does not support these, so there is no prior code in Jackson to fall back on.
The Jackson Core superclasses have some aspects that make them awkward to specialise for RON. Ask for changes in upstream to make this easier.
JsonStreamContext#inArray()
is final
. We need to override this, so ask for the final modifier to be removed.JsonStreamContext#inRoot()
is final
. We need to override this, so ask for the final modifier to be removed.JsonStreamContext#inObject()
is final
. We need to override this, so ask for the final modifier to be removed.JsonParser#nextToken()
returns JsonToken
which is an enum. This means it can't be extended to add RON concepts like START_TUPLE/END_TUPLE. So we have to provide the awkward nextRONToken
method adjacent to it. Ask for this to be changed into something that can handle extension, e.g. make JsonToken
an interface.MapperFeature
is an enum. This means it can't be extended to add RON concepts (like say WRITE_STRUCT_NAMES) to the RONMapper.Add a boolean property to RONStructSerializer
which allows the user to decide whether struct names are written. Expose this in the Mapper API as a write feature.
Tuples are difficult because Java doesn't natively support them. Observing RON field ordering in Java is also an issue. Is there a way to make tuples work in the RONMapper (reading or writing)?
Some options:
Collection<Object>
Collection<Number>
javatuples
Add support for binary/byte arrays
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.