JSON-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.
Features:
Java
The following options are configurable with JsonConfig:
- bidirectional serialization, supports Maps, Collections, arrays (primitives, multidimensional), beans, DynaBeans, Enums & Annotations (jdk15 package only)
- supports custom serialization with 3 schemes:
- the bean implements JSONString interface
- register a JsonBeanProcessor for the whole bean
- register a JsonValueProcessor for a bean property (key and/or type)
- modify the target property name when transforming from JSON to Java if the name is not a valid JavaIdentifier
- skip modifying map keys when transforming form JSON to Java if the key is not a valid JavaIdentifier
- register your own JavaIdentifierTransformer strategy
- publish events when building a JSONObject or JSONarray. The available events are:
- object start/end
- array start/end
- propertySet
- elementAdded
- warning (recoverable)
- error (exception)
- Cycle detection, there are two default strategies (default throws an exception), you can register your own
- Skip transient fields when serailizing to JSON (default=don't skip)
- Exclude bean properties and/or map keys when serailizing to JSON (default=['class','metaClass','declaringClass'])
- JSONObject implements java.util.Map and java.util.Comparable
- JSONArray implements java.util.List and java.util.Comparable
- JSONObject, JSONArray and JSONNull implement a base interface: JSON
- JSONAssert, a test-friendly class for testing JSON values
XMLThe following options are configurable in XMLSerializer:
- [read] trim leading and trailing whitespace from element values
- [read] skip namespace handling
- [read] trim namespace prefixes
- [write] write type hints (useful for converting back to JSON)
- [write] change default values for Object, Array and Element tag names
- [write] change default value for Root element tag name
- [write] raise error if namespace uri is missing
- [write] transform an explicit array into an implicit array
WebThe following options are configurable in WebUtils:
- do not output quotes for object keys when its safe for JavaScript
- two default strategies for preventing javascript hijacking, you can register your own
Groovy
- support for the leftshift ( << ) operator in JSONObject
- support for the spaceship ( <=> ) and its cousins
- type conversion with the as keyword
- a Groovy JSON builder
JRuby
- JSONArray.empty? is an alias for JSONArray.isEmpty()
- JSONObject.empty? is an alias for JSONObject.isEmpty()
- support for the leftshift ( << ) operator in JSONObject
Top 4 Download periodically updates information of JSON-lib 2.0 script from the developer, but some information may be slightly out-of-date.
Our script download links are directly from our mirrors or publisher's website. JSON-lib 2.0 torrent files or shared files from free file sharing and free upload services, including Rapidshare, MegaUpload, YouSendIt, MailBigFile, DropSend, HellShare, HotFile, FileServe, MediaMax, zUpload, MyOtherDrive, SendSpace, DepositFiles, Letitbit, LeapFile, DivShare or MediaFire, are not allowed!