When using JSON in Python, mainly using JSON modules, JSON is a good format for data interaction, so in many cases, you can use the JSON data format as an interface between programs.
#!/usr/bin/env python #-*-coding:utf-8-*-import JSON print json.load (open (' Kel.txt ')) #deserialize string or Unico De to Python object j = json.loads (open (' kel.txt '). Read (), encoding= ' utf-8 ') print type (j), J for I in J: print i k = js On.dumps (j,encoding= ' Utf-8 '). Decode (' Utf-8 ') print K
The contents of the Kel.txt file are as follows:
{ "Chinese": "Kel", "fist": "Kel"}
The results of the implementation are as follows:
{u ' \u4e2d\u6587 ': U ' kel ', U ' fist ': U ' kel '} <type ' Dict ' > {u ' \u4e2d\u6587 ': U ' kel ', U ' fist ': U ' kel '} Chinese fist {"\u4e2d \u6587 ":" Kel "," fist ":" Kel "}
The main methods used in these are json.loads and json.dumps
Note that the argument must be string in loads, so that when the file is opened, the Read method is used, otherwise an error occurs.
The loads method is primarily used to load JSON data into objects in Python, and the Dumps method is primarily to modify the Python object to JSON format.
Start encountering an error as follows:
[Root@python 56]# python kel.py Traceback (most recent call last): File ' kel.py ', line 5, <module> JS On.load (Open (' Kel.txt ')) File "/usr/local/python/lib/python2.7/json/__init__.py", line 291, in load **kw) File "/usr/local/python/lib/python2.7/json/__init__.py", line 339, in loads return _default_ Decoder.decode (s) File "/usr/local/python/lib/python2.7/json/decoder.py", line 364, in decode obj, end = Self.raw_decode (S, idx=_w (s, 0). End ()) File "/usr/local/python/lib/python2.7/json/decoder.py", line 382, in Raw_ Decode Raise ValueError ("No JSON object could be decoded") Valueerror:no JSON object could be decoded
The main reason is that, in the JSON data format, you must start with double quotes, and the wrong JSON file is as follows:
{ "fist": ' Kel '}
kel.py content is as follows:
#!/usr/bin/env python #-*-coding:utf-8-*-import JSON j = json.loads (open (' kel.txt '). Read ()) print type (j), J
Double quotes ... Single quotes, silly points are not clear
Sometimes, when the loads method is performed, it is because of the string that produces the single quote ... This is especially true in Python, which has nothing to do with other things, mainly the relationship between quotes!!!