Maison >développement back-end >Tutoriel Python >Résumé Python de la bibliothèque standard json
Cet article vous apporte des connaissances pertinentes sur python, qui présente principalement des problèmes liés à la bibliothèque standard json, y compris un aperçu de base de JSON, des modules json, des fichiers XML et de la conversion mutuelle de fichiers JSON, etc. Ce qui suit est Jetons un coup d'œil , j'espère que cela aidera tout le monde.
Apprentissage recommandé : Tutoriel vidéo Python
JSON (nom complet : JavaScript Object Notation Object Notation) est un lightweight textdataexchangeformat, JSON Le format de données est en fait le format de dictionnaire en python, qui peut contenir des tableaux entre crochets, qui sont des listes en python.
Format de syntaxe : {key1:value1, key2:value2,}
Format de paire clé-valeur (séparés par deux points), reliés par des virgules{key1:value1, key2:value2,}
键值对形式(用冒号分开),对间用逗号连接
简单案例:JSON 对象
{ "name": "小明", "age": 18}
复杂案例:JSON 数组
{ "student": [ {"name": "小明", "age": 11}, {"name": "小红","age": 10} ], "classroom": {"class1": "room1", "class2": "room2"}}
1、json的键值对的键部分,必须用双引号"
包裹,单引号都不行(所以如果在键中出现了关键字,也被字符化了),而js中对象没有强制要求(所以在键中不允许出现关键字)。
2、json的键值对的值部分,不允许出现函数function,undefined,NaN,但是可以有null,js中对象的值中可以出现。
3、json数据结束后,不允许出现没有意义的逗号,如:{"name":"admin","age":18,}
,注意看数据结尾部分18的后面的逗号,不允许出现。
正确的json格式如下:
# 格式1:JSON 对象{"name": "admin", "age": 18}# 格式2:JSON 数组{ "student": [ {"name": "小明", "age": 18}, {"name": "小红", "age": 16}, {"name": "小黑", "age": 20} ]}
错误的json格式如下:
1、使用jsON字符串生成python对象(load)
2、由python对象格式化成为ison字符串(dump)
将数据从Python转换到json
格式,在数据类型上会有变化,如下表所示:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str | string |
int, float, int- & float-derived Enums | number |
True | true |
False | false |
None | null |
反过来,将json格式转化为python内置类型,如下表所示:
JSON | Python |
---|---|
object | dict |
array | list |
string | str |
number(int) | int |
number(real) | float |
true | True |
false | False |
null | None |
json模块的使用其实很简单,对于绝大多数场合下,我们只需要使用下面四个方法就可以了:
方法 | 功能 |
---|---|
json.dumps(obj) |
将python数据类型转换为json格式的字符串。 |
json.dump(obj, fp) |
将python数据类型转换并保存到son格式的文件内。 |
json.loads(s) |
将json格式的字符串转换为python的类型。 |
json.load(fp) |
Cas simple | : objet JSON
>>> print(json.dumps(person, sort_keys=True, indent=4, separators=(',', ': '))){ "age": 30, "isonly": true, "name": "\u5c0f\u660e", "tel": [ "888888", "1351111111" ]}🎜3. Notes🎜🎜1. La partie 🎜key🎜 de la paire clé-valeur json doit être entourée de guillemets doubles
"
, les guillemets simples ne fonctionneront pas ( donc si un mot-clé apparaît dans la clé, il sera également caractérisé), mais il n'y a pas d'exigence obligatoire pour les objets en js (les mots-clés ne sont donc pas autorisés dans la clé) 🎜🎜2 La partie 🎜value🎜 de la clé json-. La paire de valeurs, Function, undefined et NaN ne sont pas autorisées, mais null est autorisé et peut apparaître dans la valeur de l'objet dans js 🎜🎜3 Une fois les données json terminées, 🎜les virgules dénuées de sens ne sont pas autorisées, telles que : <. code>{" name":"admin","age":18,}, faites attention à la virgule après 18 à la fin des données, ce n'est pas autorisé 🎜🎜4. 🎜🎜🎜Le format json correct est le suivant🎜 :🎜>>> print(json.dumps(person, sort_keys=True, indent=4, separators=('!', '-'))){ "age"-30! "isonly"-true! "name"-"\u5c0f\u660e"! "tel"-[ "888888"! "1351111111" ]🎜🎜Le mauvais format json est le suivant🎜:🎜🎜🎜🎜🎜 2. module json 🎜🎜🎜🎜1. Fonction 🎜🎜🎜1. Utiliser la chaîne jsON pour générer un objet python (chargement) 2 . Formatez l'objet python en chaîne ison (dump)🎜🎜2. Conversion du type de données🎜🎜Convertissez les données du format
Python au format json
. Il y aura des changements dans le type de données, comme indiqué dans le tableau suivant : 🎜 Python | JSON | 🎜||
---|---|---|---|
JSON | Python | 🎜
---|---|
Méthode | Fonction | 🎜
---|---|
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!