
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2985 fd906abe-77d9-0310-91a1-e0d9ade77398
44 lines
1,007 B
Text
44 lines
1,007 B
Text
==========================
|
|
JSON Endoding and Decoding
|
|
==========================
|
|
|
|
$Id$
|
|
|
|
This is a stripped-down version of simplejson
|
|
by Bob Ippolito, http://undefined.org/python/
|
|
|
|
>>> from cybertools.util.json import dumps, loads
|
|
|
|
Encoding basic Python object hierarchies::
|
|
|
|
>>> dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
|
|
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
|
|
>>> print dumps("\"foo\bar")
|
|
"\"foo\bar"
|
|
>>> print dumps(u'\u1234')
|
|
"\u1234"
|
|
>>> print dumps('\\')
|
|
"\\"
|
|
>>> print dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
|
|
{"a": 0, "b": 0, "c": 0}
|
|
|
|
Compact encoding::
|
|
|
|
>>> dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))
|
|
'[1,2,3,{"4":5,"6":7}]'
|
|
|
|
Pretty printing::
|
|
|
|
>>> print dumps({'4': 5, '6': 7}, sort_keys=True, indent=4)
|
|
{
|
|
"4": 5,
|
|
"6": 7
|
|
}
|
|
|
|
Decoding JSON::
|
|
|
|
>>> loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
|
|
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
|
|
>>> loads('"\\"foo\\bar"')
|
|
u'"foo\x08ar'
|
|
|