Home >Backend Development >Python Tutorial >How to use python's json

How to use python's json

(*-*)浩
(*-*)浩Original
2019-05-20 20:02:374998browse

Json (JavaScript Object Notation) is a lightweight data exchange format with many advantages such as simple data format, easy reading and writing, and easy understanding. Many mainstream programming languages ​​are using it for front-end and back-end data transmission, which greatly simplifies the development workload of servers and clients. Compared with XML, it is more lightweight and easier to parse, so many developers follow the Json format for data transmission and exchange. Today we will introduce in detail Python’s knowledge of Json encoding and decoding.

How to use python's json

The powerful Python provides a "json" module, which can easily encode various scattered data into a json format data through the built-in function of the module, or you can It is very easy to use to decode a json format data into the data you need. Let’s introduce it below.

json.dumps()

The dumps function in the json module encodes data to form data in json format. Let’s take a look at the following example:

How to use pythons json

It is easy to see from the output results that the dictionary is converted into json format through the dumps method, although they are very similar. Among them, the parameter "sort_keys=True" in dumps causes the keys and values ​​to be sorted in the order of 0~9 and a~z after outputting json. If not filled in, they will be arranged in disorder. Sometimes, it is convenient to compare data in json by sorting, so appropriate sorting is necessary.

In addition, the "Indent" parameter means indentation, which can make the output Json look neater and more readable, for example:

How to use pythons json

The following is a list of the fillable parameters of dumps():

skipkey: The default is False, when the data in the dict object is not Python’s basic data type; (str, unicode, int, long, float, bool, None), when skipkey is False, an error will be reported. If skipkey is True, this type of key can be skipped;

indent: If filled in with 0 or not filled in, then Print according to one line, otherwise the preceding space (positive integer form) will be displayed according to the value of indent;

separators: separator, the default is "(',',':')", which means between keys Separated by ",", key and value are separated by ":";

encoding: encoding format, the default value is UTF-8;

sort_keys: sort key and value Sorting, the default value is False, that is, no sorting;

ensure_ascii: The default is True. If the dict object contains none-ASCII characters, the \uXX format will be displayed. If it is False, it will be displayed normally. ;

json.loads()

Contrary to dumps, the loads function decodes the data in json format and converts it into a Python dictionary. Let’s take a look at the following example :

How to use pythons json

Sometimes, when the output result encounters Chinese, the encoding format will be different, and the Unicode encoding format will be displayed, making it difficult to understand. Solve The way is to add the parameter "encoding" parameter, that is, rewrite the above as follows: d1 = json.loads(data1, encoding='utf-8').

json.dump() and json.load()

Compared with the dumps and loads mentioned above, the dump and load functions have similar functions. However, the former is used to process string types, while the latter is used to process file types, as shown below:

How to use pythons json

The above example lists four methods of json : Simple usage methods of dumps() and dump(), loads() and load(). It can be seen that Python is quite convenient for processing json, unlike c (whoever uses it knows).

The above is the detailed content of How to use python's json. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn