Home  >  Article  >  Backend Development  >  Introduction to the use of JSON in Python

Introduction to the use of JSON in Python

coldplay.xixi
coldplay.xixiforward
2020-09-01 17:42:031918browse

Introduction to the use of JSON in Python

Related learning recommendations: python video

Introduction to JSON

JSON (JavaScript Object Notation) is a lightweight data exchange format. Easy for humans to read and write. It is also easy for machines to parse and generate. It is based on JavaScript Programming Language, a subset of Standard ECMA-262 3rd Edition - December 1999. JSON uses a completely language-independent text format, but also uses conventions similar to the C language family (including C, C, C#, Java, JavaScript, Perl, Python, etc.). These properties make JSON an ideal data exchange language.

Two structures of JSON

  1. A collection of name/value pairs. In different languages, it is understood as an object, a record, a struct, a dictionary, a hash table, a keyed list, or an associative array. array).

  2. An ordered list of values. In most languages, it is understood as an array.

Use of JSON in Python

When operating JSON in Python, you need to introduce the json standard library.

import json

Type conversion

Python type conversion to JSON:

json. dump()

#1. Python dict type to JSON
person_dict = {'name': 'pig', 'age': 18, 'sex': 'man', ' hometown': 'Jiangxi Fuzhou'}

##The indent parameter is the number of indented spaces

person_dict_json = json.dumps(person_dict, indent=4)print(person_dict_json, ' \n')

2. Python list type conversion to JSON

person_list = ['pig', 18, 'man', 'Jiangxi Fuzhou']person_list_json = json.dumps(person_list)print(person_list_json, '\n')

3. Convert Python object type to JSON

person_obj = Person('pig', 18 , 'man', 'Jiangxi Fuzhou')

The anonymous function in the middle is a dictionary form that obtains all the attributes of the object

person_obj_json = json.dumps(person_obj, default= lambda obj: obj.

dict, indent=4)print(person_obj_json, '\n')

JSON to Python type:

json.loads( )

4. JSON to Python dict type

person_json = '{ “name”: “pig”,”age”: 18, “sex ": "man", "hometown": "Jiangxi Fuzhou"}'

person_json_dict = json.loads(person_json)print(type(person_json_dict), '\n')

5. JSON to Python list type

person_json2 = '["pig", 18, "man", "Jiangxi Fuzhou"]'

person_json_list = json.loads(person_json2)print(type( person_json_list), '\n')

6. Custom object type from JSON to Python

person_json = '{ "name": "pig","age ": 18, "sex": "man", "hometown": "Fuzhou, Jiangxi"}'

The object_hook parameter is to convert the dict object into a custom object

person_json_obj = json.loads(person_json, object_hook=lambda d: Person(d['name'], d['age'], d['sex'], d['hometown']))print(type(person_json_obj ), '\n')

Python and JSON data type correspondence table


##JSONPython##objectdictarrayliststringstrnumberint, long, floattrue, falseTrue, FalsenullNonePoints to note

JSON key names and strings must be enclosed in double quotes, and Single quotes in Python can also be expressed as strings, so this is a relatively easy mistake to make!

When converting Python types to JSON, should we use load/dump or loads\dumps?

The method without adding s has an additional parameter fp representing filepath, and finally an additional operation of writing a file.

So when we remember, we can remember it like this:

Adding s means converting to a string (str), not adding s means converting to a file.

Related recommendations:

Programming video course

The above is the detailed content of Introduction to the use of JSON in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:learnku.com. If there is any infringement, please contact admin@php.cn delete