In this chapter we will introduce how to use Python language to encode and decode JSON objects.
Python 2.7 comes with JSON module [official document]
1. The conversion process from python original type to json type, the specific conversion is as follows:
import json
json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8",default=None, sort_keys= False, **kw)
python python json json
------------------------------------------------ --------
dict at null
>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo ", {"bar": ["baz", null, 1.0, 2]}]'
>>> f = open('demo.txt','w')
>> ;> json.dump(range(100), f)
# Open demo.txt and you can see
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 , 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 , 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85 , 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
2. The conversion process from json type to python, The specific conversion is as follows:
import json
json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]] ]]]])
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]])
D Object Dict
Array List
String Str
Number (int) int
Number (Real) Float
True Trse False False
NULL NONE
GT; & GT; & GT; & GT; & GT; & GT; & GT; import json
>>> json.loads('{"a": 1, "b": 2, "c": 3}') # string to python objects
{u'a': 1, u' c': 3, u'b': 2}
# Contents in 1.txt
[{"a": [1, 2, 3, 4, 5]}, {"b" : [1, 2, 3]}, {"c": ["English", "Chinese"]}]
>>> f = open('1.txt')
> >> json.load(f)
[{u'a': [1, 2, 3, 4, 5]}, {u'b': [1, 2, 3]}, {u' c': [u'English', u'Chinese']}]
Old version of Python environment configuration (users who come with the json module in Python do not need to look at it)
Using Python to encode or decode JSON Before data, we need to install the JSON module first. In this tutorial we will download Demjson and install it:
$tar
JSON function
Function
Description
encode Encode a Python object into a JSON string
decode Decode an encoded JSON string into a Python object
encode
Python encode() Function for encoding Python objects into JSON strings.
Syntax
demjson.encode(self, obj, nest_level=0)
Example
The following example encodes an array into JSON format data:
#! /usr/bin/python
import demjson
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = demjson.encode(data)
print json
The execution result of the above code is:
[{"a":1,"b":2," c":3,"d":4,"e":5}]
decode
Python can use the demjson.decode() function to decode JSON data. This function returns the data type of the Python field.
Syntax
demjson.decode(self, txt)
Example
The following example shows how Python decodes JSON objects:
#!/usr/bin /python
import demjson
json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = demjson.decode(json)
print text
The above code execution result is:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}