analyse des données JSON python3
JSON (JavaScript Object Notation) est un format d'échange de données léger. Il est basé sur un sous-ensemble de ECMAScript.
Python3 module JSON peut être utilisé pour coder et décoder les données JSON, qui contient deux fonctions:
- json.dumps (): codage de données.
- json.loads (): les données sont décodées.
En cours de codec json, python et JSON type de types primitifs sera converti à l'autre, le contrôle de transformation spécifique comme suit:
Python JSON codé comme une table de type conversion de correspondance:
| python | JSON |
|---|---|
| dict | objet |
| liste, tuple | tableau |
| str | string |
| int, float, int & float dérivé Enums | nombre |
| vrai | vrai |
| faux | faux |
| aucun | nul |
JSON décode le type Python tableau de conversion de la correspondance:
| JSON | python |
|---|---|
| objet | dict |
| tableau | liste |
| string | str |
| nombre (int) | int |
| nombre (réel) | flotteur |
| vrai | vrai |
| faux | faux |
| nul | aucun |
json.dumps et json.loads exemples
L'exemple suivant illustre les structures de données Python en JSON:
#!/usr/bin/python3
import json
# Python 字典类型转换为 JSON 对象
data = {
'no' : 1,
'name' : 'w3big',
'url' : 'https://w3big.com'
}
json_str = json.dumps(data)
print ("Python 原始数据:", repr(data))
print ("JSON 对象:", json_str)
Exécuter les résultats de sortie de code ci-dessus:
Python 原始数据: {'url': 'https://w3big.com', 'no': 1, 'name': 'w3big'}
JSON 对象: {"url": "https://w3big.com", "no": 1, "name": "w3big"}
Les résultats peuvent être vus à travers la sortie, suivie par les types simples en codant sa rééd originale () sortie est très similaire.
Ensuite, l'exemple ci-dessus, nous pouvons convertir une chaîne JSON codée retour à une structure de données de Python:
#!/usr/bin/python3
import json
# Python 字典类型转换为 JSON 对象
data1 = {
'no' : 1,
'name' : 'w3big',
'url' : 'https://w3big.com'
}
json_str = json.dumps(data1)
print ("Python 原始数据:", repr(data1))
print ("JSON 对象:", json_str)
# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)
print ("data2['name']: ", data2['name'])
print ("data2['url']: ", data2['url'])
Exécuter les résultats de sortie de code ci-dessus:
ython 原始数据: {'name': 'w3big', 'no': 1, 'url': 'https://w3big.com'}
JSON 对象: {"name": "w3big", "no": 1, "url": "https://w3big.com"}
data2['name']: w3big
data2['url']: https://w3big.com
Si vous voulez traiter avec le fichier au lieu d'une chaîne, vous pouvez utiliserjson.dump () et json.load ()pour coder et décoder les données JSON. Par exemple:
# 写入 JSON 数据
with open('data.json', 'w') as f:
json.dump(data, f)
# 读取数据
with open('data.json', 'r') as f:
data = json.load(f)
Pour plus d' informations, s'il vous plaît se référer à: https://docs.python.org/3/library/json.html