Json-smart development started in 2010, when SQL servers did not support native JSON fields, NoSQL databases were slowly emerging, and all the existing JSON APIs were bogus. I wrote lots of tests to benchmark and compare JSON java parsers.
I never liked SQL databases because it's almost impossible to update a data model without impacting the production platform. Adding a column is a terrible operation.
So I started json-smart. All non-indexed data in my datastores were stored in a column as a serialized JSON message. To fit MySQL varchar(255) fields, I tried to make my JSON as small as possible, so json-smart is optimized to produce small JSON-like Strings.
Now times have changed: most of the JSON APIs are now stable, and I'm now using document-oriented databases and JSON-native SQL types.
So I do not use my json-smart anymore. I had fun with this project. If you want to apply some change on json-smart create a pull request with lots of JUnit tests.
- Bump all dependencies.
- Fix OSGi import package version for net.minidev.asm. PR 180
- Add flag to drop the limit of json depth. PR 156
- Fix error in isWritable in accessor-smart. PR 147
- Update json-smart dependency to use accessor-smart:2.4.11
- Fix unstacking issue with more than 400 elements in an array.
- Add depth limit of 400 when parsing JSON.
- Fix the incorrect double compare with e,E+,e+ PR 77
- full timezone support in date parsing
- set default charset to UTF-8 when parsing byte[] contents
- overwride system default encoding when parssing bytes[] PR 71
- Correct publish issue 3th time issue 69
- Support latest asm in accessor-smart issue 70
- Drop legacy parent pom
- Correct publish issue 2nd time issue 69
- add BIG_DIGIT_UNRESTRICTED to avoid BigDigit usage on some Double.
- fix CVE-2021-27568
- java 11 build
- Fixes issue #60 (CVE-2021-27568)
- full timezone support in date parsing
- Patch 37 issue 37
- Explicite support of char 127 issue 18
- Integrate json-smart-action from Eitan Raviv PR 31
- Remove hard codded e.printStackTrace() issue 33
- Improve date parsing code to support all timeZones issue 29
- Fix support for default java datetime format for US locale
- Update my time Zone from Paris to San Francisco.
- Fix issue in strict mode issue gh-17
- Add a licence Copy at the root project level issue gh-16
- Change InputStream input reading to use UTF8. issue 48
- Rename asm to accessors-smart due to conflict name with asm.ow2.org lib. fix PR-10
- Fix OSGI error fix PR-2
- Add support for BigDecimal
- Improve JSONObject.getAsNumber() helper
- Add a Field Remaper
- net.minidev.json.mapper renamed to net.minidev.json.writer
- Add ACCEPT_TAILLING_SPACE Parssing Flag.
- Mapper classes now non static.
- Reader mapper are now available in net.minidev.json.reader.JsonReader class
- Writer mapper are now available in net.minidev.json.writer.JsonWriter class
- Fix Double Identification issue 44
- Fix Collection Interface Serialisation
- Fix security Exception in ASM code
- Project moved to GitHub
- Fix issue 42
- Add custom data binding inside the ASM layer.
- Add Date support
- Add \x escape sequence support issue 39
- fix issue issue 37
- speed improvement in POJO manipulation
- add JSONStyle.LT_COMPRESS predefined generate strct json, but ignoring / escapement.