Skip to main content

simple json conversion implements using stack structure and recursive method

Project description

FullJSON

The package is for JSON conversion in Python enviroment.

JSON TypeJSON Type ExamplePython TypePython Type Value
object{}dicttype({})
array[]listtype([])
string"example"strtype('example')
number1/1.0int/floattype(1)/type(1.0)
"true"trueTruetype(True)
"false"falseFalsetype(False)
"null"nullNonetype(None)

Implements

Convert a JSON string into a JSON object

JSON.parse(value) is based on stack structure. There are three stacks in the program, stack stack for characters,class_stack stack for list and dict, keyvalue_stack stack for name/value pair. Scan each character in the string, do the following:

  1. If is [, put type/value into class_stack stack
  2. If is {, put type/value into the class_stack stack, and put an empty key/value pair (namedborder) into the keyvalue_stack stack
  3. If is,, according to class_stack stack top type (list and dict),list is to operate on the top of the class_stack stack and call its append method, dict is pushed into the keyvalue_stack stack
  4. If is ], popping all the elements on the top of the stack stack until it encounters [
  5. If is }, pop the keyvalue_stack stack and pop all the elements on the top of the stack until it encounters border
  6. If is :, operate on the top of the keyvalue_stack stack and modify the value in the key/value pair
  7. Other, put characters into the stack stack

Convert JSON values to JSON strings

JSON.stringify(value) is using recursive method.

  1. If it is a basic type in Python (number, string, bool, None), return the corresponding string (1/1.0, "example", true/false, null)
  2. If it is list and dict, repeat step 1 for each element in the list and dict
  3. Others, It is a class, consider as a dict type, terating over member variables of a class, do the same action as step 1

Installation

pip install fulljson 

Examples

  • Convert a JSON string into a JSON object.
>>> from fulljson import JSON
>>>
>>> value = '["foo", {"bar": ["baz", null, 1.0, 2, true]}]'
>>> print(JSON.parse(value))
['foo', {'bar': ['baz', None, 1.0, 2, True]}]
>>>
  • Convert JSON values to JSON strings.
>>> from fulljson import JSON
>>>
>>> value = ["foo", {"bar": ["baz", None, 1.0, 2, True]}]
>>> print(JSON.stringify(value))
["foo",{"bar":["baz",null,1.0,2,true]}]
>>>
  • Format JSON object or JSON strings
>>> from fulljson import JSON
>>>
>>> value = [{'foo': 'new 0', 'index': None}, "sat", {'bar': 'new 2', 'index': [1, True]}]
>>> print(JSON.format(value))
[
    {
        "foo":"new 0",
        "index":null
    },
    "sat",
    {
        "bar":"new 2",
        "index":[
            1,
            true
        ]
    }
]
>>>

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for fulljson, version 0.0.53
Filename, size File type Python version Upload date Hashes
Filename, size fulljson-0.0.53-py3-none-any.whl (8.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size fulljson-0.0.53.tar.gz (6.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page