Skip to content

LLNL/json-cwx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

This is a modified version of the JSON-C library.

Its moniker is json-cwx (json-c with extensions)

The initial version was obtained from here,
https://github.com/json-c/json-c/releases,
numbered 0.12-20140410.

Among other things, it has been modified to support
     * Optimized, homogenously typed, multi-dimensional arrays.
       That is, arrays whose members are NOT json objects but
       the individual array elements in a larger buffer. These
       are 'extarr' object types.
     * Enumerated types.
     * Path-oriented object get/set methods.
     * Path get methods that can accept paths such as "a/gorfo/5/foo/7"
       where if gorfo and foo are array objects, then 5 and 7 are
       treated as array indices. If gorfo and foo are 'normal' objects,
       then '5' and '7' are treated as the member keys of the objects.
     * A find method that is a lot like Unix' find except that it can
       find a matching sub-path from the specified root.

These modifications have not been pushed back to JSON-C implementors.
This is primarily because many of these enhancements kinda sorta fall
outside the original design scope (IMHO) of JSON in general and JSON-C
in particular. In fact, the extarr and enum types break the JSON-C
ascii string syntax.

For licensing of JSON-C, please read json-c-0.12-20140410b/COPYING

# Release

JSON-CWX is a part of [MACSio](https://github.com/LLNL/MACSio) and as
such is released under the terms of the GPL license. For full details
see the [LICENSE](/LICENSE) file.

LLNL-CODE-676051