Jump to content
Compatible Support Forums
Sign in to follow this  
news

[ANNOUNCE] JSON-GLib 0.5.0 - developers snapshot

Recommended Posts

hi everyone;

 

JSON-GLib 0.5.0 is now available for download at:

 

http://folks.o-hand.com/~ebassi/sources/json-glib-0.5.0.tar.gz

 

MD5 checksum:

 

83b117734de964d56c32f57fc3b19290 json-glib-0.5.0.tar.gz

 

this is the first developers snapshot of the JSON-GLib library for the

0.6 cycle.

 

JSON-GLib is a library providing serialization and deserialization

support for the JavaScript Object Notation (JSON) format described by

RFC 4627. JSON is:

 

a lightweight data-interchange format. It is easy for humans to read

and write. It is easy for machines to parse and generate. It is based

on a subset of the JavaScript Programming Language, Standard ECMA-262

3rd Edition - December 1999. JSON is a text format that is completely

language independent but uses conventions that are familiar to

programmers of the C-family of languages, including C, C++, C#, Java,

JavaScript, Perl, Python, and many others. These properties make JSON

an ideal data-interchange language. -- From Introducing JSON

 

Many high-level languages already provide native modules for parsing,

generating and manipulating JSON data streams. JSON-GLib is a C library

based on GLib and released under the terms of the GNU Lesser General

Public License version 2.1. It provides a parser and a generator GObject

classes and various wrappers for the complex data types employed by

JSON, such as arrays and objects.

 

JSON-GLib uses GLib native data types and the generic value container

GValue for ease of development. It also provides integration with the

GObject classes for direct serialization into, and deserialization from,

JSON data streams.

 

JSON-GLib currently requires:

 

* GLib 2.16.0, or higher

 

Bugs should be reported to http://bugzilla.openedhand.com in the

json-glib product.

 

JSON-GLib is available in GNOME SVN:

 

http://svn.gnome.org/viewvc/json-glib/trunk/

 

The development is mostly done inside a git repository, available at:

 

http://github.com/ebassi/json-glib/tree/master

 

This is the first developers snapshot leading to the upcoming 0.6.0

release; installing this version will overwrite the files currently

installed by the 0.4 releases.

 

What's new in JSON-GLib

---------------------------

* Allow deserialization of strings into enum and flag types

When deserializing a GObject from a JSON object, the properties using

a GEnum or a GFlags type will be automatically converted from a string

containing their "nick" field into their integer value.

 

* Add the :indent-char property to JsonGenerator

Add the ability to specify the Unicode character that should be used

to indent the JSON declaration when pretty-printing.

 

* Add functions to retrieve copies of the nodes inside Object and Array

 

* Fix leaks and invalid accesses

 

* Use the right type for the buffer length parameter in JsonParser

 

* Provide a default implementation for JsonSerializable

GObject classes implementing JsonSerializable can decide whether to

implement both, either or none the virtual functions of the interface.

The default implementation will fall back to the same code path used

when an object not implementing JsonSerializable is passed to the

json_construct_gobject() and json_serialize_gobject() functions.

 

* Provide our own JSON tokenizer (using GScanner) for the JSON-only

features that would have been lost by using GScanner

JSON has some encoding features that were lost when passing a data

stream into GScanner; to prevent this, an internal version of

GScanner has been added and modified to correctly tokenize JSON.

The JsonScanner tokenizer is private.

 

* Add support for parsing Unicode characters escaped using \uXXXX

Thanks to JsonScanner, JSON-GLib now correctly handles Unicode

characters using the \uXXXX escape sequence; the Unicode character

is transparently added to the buffer.

 

* Add a fully automated test suite, using the GTest framework

Merge the work done in the test-framework branch. By using the new

GTest API, JSON-GLib has a fully automated test suite excercising

the whole API. This should make catching regressions a lot easier.

 

* Allow 'null' nodes to return a value without warnings

 

ciao,

Emmanuele.

 

--

Emmanuele Bassi,

W: http://www.emmanuelebassi.net

B: http://log.emmanuelebassi.net

 

_______________________________________________

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×