Analiza danych Python3 JSON
JSON (JavaScript Object Notation) to lekki format wymiany danych. Jest on oparty na podzbiorze ECMAScript.
Moduł json Python3 mogą być wykorzystywane do kodowania i dekodowania danych JSON, który zawiera dwie funkcje:
- json.dumps (): kodowanie danych.
- json.loads (): dane są dekodowane.
W procesie json kodeka, Python i json typ prymitywnych typów zostaną zamienione ze sobą, specyficzna kontrola transformacji w następujący sposób:
Python JSON zakodowane w postaci tabeli konwersji typu korespondencji:
pyton | JSON |
---|---|
DICT | przedmiot |
lista, krotka | szyk |
Str | sznur |
int, float, INT i unosić pochodzące z wyliczenia | liczba |
prawdziwy | prawdziwy |
fałszywy | fałszywy |
żaden | NULL |
JSON dekoduje typu Python tabeli korelacji konwersji:
JSON | pyton |
---|---|
przedmiot | DICT |
szyk | lista |
sznur | Str |
numer (int) | int |
numer (real) | pływak |
prawdziwy | prawdziwy |
fałszywy | fałszywy |
NULL | żaden |
json.dumps i json.loads przykłady
Poniższy przykład pokazuje, struktur danych w Pythonie do JSON:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3write.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)
Wykonaj powyższe wyniki wyjściowe Kod:
Python 原始数据: {'url': 'http://www.w3write.com', 'no': 1, 'name': 'w3big'} JSON 对象: {"url": "http://www.w3write.com", "no": 1, "name": "w3big"}
Wyniki można zobaczyć poprzez wyjście, a następnie przez zwykłe rodzaje przez kodowanie swoją wyjściową reprezentujący () wyjście jest bardzo podobne.
Następnie w powyższym przykładzie, możemy przekonwertować ciąg JSON zakodowane z powrotem do struktury danych Python:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data1 = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3write.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'])
Wykonaj powyższe wyniki wyjściowe Kod:
ython 原始数据: {'name': 'w3big', 'no': 1, 'url': 'http://www.w3write.com'} JSON 对象: {"name": "w3big", "no": 1, "url": "http://www.w3write.com"} data2['name']: w3big data2['url']: http://www.w3write.com
Jeśli chcesz się zajmować jest plik zamiast łańcucha, można użyćjson.dump () i json.load ()do kodowania i dekodowania danych JSON. Na przykład:
# 写入 JSON 数据 with open('data.json', 'w') as f: json.dump(data, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f)
Aby uzyskać więcej informacji, zapoznaj się z: https://docs.python.org/3/library/json