analisis data Python3 JSON
JSON (JavaScript Object Notation) adalah format data interchange ringan. Hal ini didasarkan pada sub-set ECMAScript.
Modul json Python3 dapat digunakan untuk encode dan decode data JSON, yang berisi dua fungsi:
- json.dumps (): encoding data.
- json.loads (): Data diterjemahkan.
Dalam proses codec json, python dan json jenis tipe primitif akan dikonversi ke satu sama lain, kontrol transformasi tertentu sebagai berikut:
Python JSON dikodekan sebagai meja jenis konversi korespondensi:
ular sanca | JSON |
---|---|
dict | obyek |
daftar, tuple | susunan |
str | tali |
int, float, int- & mengapung diturunkan Enum | jumlah |
benar | benar |
palsu | palsu |
tak satupun | batal |
JSON decode jenis Python tabel konversi korespondensi:
JSON | ular sanca |
---|---|
obyek | dict |
susunan | daftar |
tali | str |
Jumlah (int) | int |
nomor (nyata) | mengapung |
benar | benar |
palsu | palsu |
batal | tak satupun |
json.dumps dan json.loads contoh
Contoh berikut menunjukkan struktur data Python ke JSON:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3big.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)
Mengeksekusi hasil kode output di atas:
Python 原始数据: {'url': 'http://www.w3big.com', 'no': 1, 'name': 'w3big'} JSON 对象: {"url": "http://www.w3big.com", "no": 1, "name": "w3big"}
Hasilnya dapat dilihat melalui output, diikuti oleh tipe sederhana dengan pengkodean cetak ulang asli () outputnya sangat mirip.
Kemudian contoh di atas, kita dapat mengkonversi string JSON-encoded kembali ke struktur data Python:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data1 = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.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'])
Mengeksekusi hasil kode output di atas:
ython 原始数据: {'name': 'w3big', 'no': 1, 'url': 'http://www.w3big.com'} JSON 对象: {"name": "w3big", "no": 1, "url": "http://www.w3big.com"} data2['name']: w3big data2['url']: http://www.w3big.com
Jika Anda ingin berurusan dengan adalah file bukan string, Anda dapat menggunakanjson.dump () dan json.load ()untuk encode dan decode data JSON. Sebagai contoh:
# 写入 JSON 数据 with open('data.json', 'w') as f: json.dump(data, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f)
Untuk informasi lebih lanjut, silakan lihat: https://docs.python.org/3/library/json.html