JSON

In Python, the json module provides an API similar to convert in-memory Python objects to a serialized representation known as JavaScript Object Notation (JSON) and vice-a-versa.

Encode Python objects as JSON strings

json.dump(obj, fp,
                  skipkeys=False,
                  ensure_ascii=True,
          check_circular=True,
          allow_nan=True,
          cls=None,
          indent=None,
          separators=None,
          default=None,
          sort_keys=False, **kw)

The above method serialize obj as a JSON formatted stream to fp (a .write()-supporting file-like object) using the following conversion table.

Python                                          JSON
dict                                            object
list, tuple                                     array
str                                             string
int, float, int- & float-derived Enums          number
True                                            true
False                                           false
None                                            null

Python Dictionaries to JSON strings

import json
student = {"101":{"class":'V', "Name":'Rohit',  "Roll_no":7},
           "102":{"class":'V', "Name":'David',  "Roll_no":8},
           "103":{"class":'V', "Name":'Samiya', "Roll_no":12}}
print(json.dumps(student));

Output:

{"103": {"class": "V", "Name": "Samiya", "Roll_no": 12}, 
"102": {"class": "V", "Name": "David", "Roll_no": 8}, 
"101": {"class": "V", "Name": "Rohit", "Roll_no": 7}}

Python Dictionaries to JSON strings (sorted by key)

import json
student = {"101":{"class":'V', "Name":'Rohit',  "Roll_no":7},
           "102":{"class":'V', "Name":'David',  "Roll_no":8},
           "103":{"class":'V', "Name":'Samiya', "Roll_no":12}}
print(json.dumps(student, sort_keys=True));

Ooutput:

{"101": {"Name": "Rohit", "Roll_no": 7, "class": "V"}, 
"102": {"Name": "David", "Roll_no": 8, "class": "V"}, 
"103": {"Name": "Samiya", "Roll_no": 12, "class": "V"}}

Python tuple to JSON array

import json
tup1 = 'Red', 'Black', 'White';
print(json.dumps(tup1));

Output:

["Red", "Black", "White"]

Python list to JSON array

import json
list1 = [5, 12, 13, 14];
print(json.dumps(list1));

Output:

[5, 12, 13, 14]

Python string to JSON string

import json
string1 = 'Python and JSON';
print(json.dumps(string1));

Output:

"Python and JSON"

Python int, float, int- & float-derived Enums to JSON number

import json
x = -456;
y = -1.406;
z =  2.12e-10
print(json.dumps(x));
print(json.dumps(y));
print(json.dumps(z));

Output:

-456
-1.406
2.12e-10

Decode JSON strings into Python objects

Basic usage:

json.load(fp, 
          cls=None, 
          object_hook=None, 
          parse_float=None, 
          parse_int=None, 
          parse_constant=None, 
          object_pairs_hook=None, **kw)
JSON                Python
object              dict
array               list
string              str
number (int)        int
number (real)       float
true                True
false               False
null                None

JSON strings to Python Dictionaries

import json
json_data = '{"103": {"class": "V", "Name": "Samiya", "Roll_n": 12}, "102": {"class": "V", "Name": "David", "Roll_no": 8}, "101": {"class": "V", "Name": "Rohit", "Roll_no": 7}}';
print(json.loads(json_data));

Output:

{"103": {"class": "V", "Name": "Samiya", "Roll_no": 12}, 
"102": {"class": "V", "Name": "David", "Roll_no": 8}, 
"101": {"class": "V", "Name": "Rohit", "Roll_no": 7}}

Python list to JSON array

import json
list1 = '[ "Ford", "BMW", "Fiat" ]'
print(json.loads(list1));

JSON string to Python string

import json 
Json_string = "Python and JSON" 
print(json.dumps(Json_string));

Output:

"Python and JSON"
{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2018/tieto:databasis-json-yaml:2",
      "title": "JSON",
      "html": "\n          \n    \n\n    <h2>JSON</h2>\n<p>In Python, the json module provides an API similar to convert in-memory Python objects to a serialized representation known as JavaScript Object Notation (JSON) and vice-a-versa.</p>\n<h3>Encode Python objects as JSON strings</h3>\n<div class=\"highlight\"><pre><code>json.dump(obj, fp,\n                  skipkeys=False,\n                  ensure_ascii=True,\n          check_circular=True,\n          allow_nan=True,\n          cls=None,\n          indent=None,\n          separators=None,\n          default=None,\n          sort_keys=False, **kw)</code></pre></div><p>The above method serialize obj as a JSON formatted stream to fp (a .write()-supporting file-like object) using the following conversion table.</p>\n<div class=\"highlight\"><pre><code>Python                                          JSON\ndict                                            object\nlist, tuple                                     array\nstr                                             string\nint, float, int- &amp; float-derived Enums          number\nTrue                                            true\nFalse                                           false\nNone                                            null</code></pre></div><h3>Python Dictionaries to JSON strings</h3>\n<div class=\"highlight\"><pre><code>import json\nstudent = {&quot;101&quot;:{&quot;class&quot;:&apos;V&apos;, &quot;Name&quot;:&apos;Rohit&apos;,  &quot;Roll_no&quot;:7},\n           &quot;102&quot;:{&quot;class&quot;:&apos;V&apos;, &quot;Name&quot;:&apos;David&apos;,  &quot;Roll_no&quot;:8},\n           &quot;103&quot;:{&quot;class&quot;:&apos;V&apos;, &quot;Name&quot;:&apos;Samiya&apos;, &quot;Roll_no&quot;:12}}\nprint(json.dumps(student));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>{&quot;103&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;Samiya&quot;, &quot;Roll_no&quot;: 12}, \n&quot;102&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;David&quot;, &quot;Roll_no&quot;: 8}, \n&quot;101&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;Rohit&quot;, &quot;Roll_no&quot;: 7}}</code></pre></div><h3>Python Dictionaries to JSON strings (sorted by key)</h3>\n<div class=\"highlight\"><pre><code>import json\nstudent = {&quot;101&quot;:{&quot;class&quot;:&apos;V&apos;, &quot;Name&quot;:&apos;Rohit&apos;,  &quot;Roll_no&quot;:7},\n           &quot;102&quot;:{&quot;class&quot;:&apos;V&apos;, &quot;Name&quot;:&apos;David&apos;,  &quot;Roll_no&quot;:8},\n           &quot;103&quot;:{&quot;class&quot;:&apos;V&apos;, &quot;Name&quot;:&apos;Samiya&apos;, &quot;Roll_no&quot;:12}}\nprint(json.dumps(student, sort_keys=True));</code></pre></div><p>Ooutput:</p>\n<div class=\"highlight\"><pre><code>{&quot;101&quot;: {&quot;Name&quot;: &quot;Rohit&quot;, &quot;Roll_no&quot;: 7, &quot;class&quot;: &quot;V&quot;}, \n&quot;102&quot;: {&quot;Name&quot;: &quot;David&quot;, &quot;Roll_no&quot;: 8, &quot;class&quot;: &quot;V&quot;}, \n&quot;103&quot;: {&quot;Name&quot;: &quot;Samiya&quot;, &quot;Roll_no&quot;: 12, &quot;class&quot;: &quot;V&quot;}}</code></pre></div><h3>Python tuple to JSON array</h3>\n<div class=\"highlight\"><pre><code>import json\ntup1 = &apos;Red&apos;, &apos;Black&apos;, &apos;White&apos;;\nprint(json.dumps(tup1));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>[&quot;Red&quot;, &quot;Black&quot;, &quot;White&quot;]</code></pre></div><h3>Python list to JSON array</h3>\n<div class=\"highlight\"><pre><code>import json\nlist1 = [5, 12, 13, 14];\nprint(json.dumps(list1));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>[5, 12, 13, 14]</code></pre></div><h3>Python string to JSON string</h3>\n<div class=\"highlight\"><pre><code>import json\nstring1 = &apos;Python and JSON&apos;;\nprint(json.dumps(string1));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>&quot;Python and JSON&quot;</code></pre></div><h3>Python int, float, int- &amp; float-derived Enums to JSON number</h3>\n<div class=\"highlight\"><pre><code>import json\nx = -456;\ny = -1.406;\nz =  2.12e-10\nprint(json.dumps(x));\nprint(json.dumps(y));\nprint(json.dumps(z));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>-456\n-1.406\n2.12e-10</code></pre></div><h3>Decode JSON strings into Python objects</h3>\n<p>Basic usage:</p>\n<div class=\"highlight\"><pre><code>json.load(fp, \n          cls=None, \n          object_hook=None, \n          parse_float=None, \n          parse_int=None, \n          parse_constant=None, \n          object_pairs_hook=None, **kw)</code></pre></div><div class=\"highlight\"><pre><code>JSON                Python\nobject              dict\narray               list\nstring              str\nnumber (int)        int\nnumber (real)       float\ntrue                True\nfalse               False\nnull                None</code></pre></div><h3>JSON strings to Python Dictionaries</h3>\n<div class=\"highlight\"><pre><code>import json\njson_data = &apos;{&quot;103&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;Samiya&quot;, &quot;Roll_n&quot;: 12}, &quot;102&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;David&quot;, &quot;Roll_no&quot;: 8}, &quot;101&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;Rohit&quot;, &quot;Roll_no&quot;: 7}}&apos;;\nprint(json.loads(json_data));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>{&quot;103&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;Samiya&quot;, &quot;Roll_no&quot;: 12}, \n&quot;102&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;David&quot;, &quot;Roll_no&quot;: 8}, \n&quot;101&quot;: {&quot;class&quot;: &quot;V&quot;, &quot;Name&quot;: &quot;Rohit&quot;, &quot;Roll_no&quot;: 7}}</code></pre></div><h3>Python list to JSON array</h3>\n<div class=\"highlight\"><pre><code>import json\nlist1 = &apos;[ &quot;Ford&quot;, &quot;BMW&quot;, &quot;Fiat&quot; ]&apos;\nprint(json.loads(list1));</code></pre></div><h3>JSON string to Python string</h3>\n<div class=\"highlight\"><pre><code>import json \nJson_string = &quot;Python and JSON&quot; \nprint(json.dumps(Json_string));</code></pre></div><p>Output:</p>\n<div class=\"highlight\"><pre><code>&quot;Python and JSON&quot;</code></pre></div>\n\n\n        "
    }
  }
}