JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang mengikut spesifikasi JavaScript yang ditetapkan oleh Persatuan Komputer Eropah (dirujuk sebagai ECMAScript).
JSON adalah mudah untuk orang membaca dan menulis, dan ia juga mudah untuk mesin menghuraikan dan menjana dengan berkesan boleh meningkatkan kecekapan penghantaran maklumat rangkaian menghantar maklumat antara rangkaian dan program, seperti pelanggan Interaksi maklumat dengan pelayan dihantar dalam format JSON.
Ringkasnya, JSON boleh menukar set data yang diwakili oleh objek JavaScript ke dalam format rentetan supaya rentetan ini boleh dihantar melalui rangkaian dan antara program. Dan apabila diperlukan, ia boleh ditukar kepada format data yang disokong oleh bahasa pengaturcaraan. Bahagian ini terutamanya memperkenalkan cara melaksanakan penukaran antara data JSON dan jenis data Python.
Bahasa Python mempunyai modul terbina dalam yang mengkhusus dalam memproses data JOSN - modul jons Melalui modul ini, penukaran antara format data JSON dan Python boleh diselesaikan.
Kaedah ini boleh menukar rentetan format json kepada objek Python (seperti senarai, kamus, tupel, integer dan jenis titik terapung), yang paling biasa digunakan ialah ditukar kepada jenis kamus. Contohnya adalah seperti berikut:
# coding:utf8 import json #JOSN字符串 website_info='{"name" : "CSDN","PV" : "2000万","UV" : "800万","create_time" : "1999年"}' py_dict=json.loads(website_info) print("python字典数据格式:%s;数据类型:%s"% (py_dict,type(py_dict)))
Hasil output:
json.dump()Ia boleh menukar objek Python (kamus, senarai, dll.) ke dalam rentetan json dan menulis data yang ditukar kepada fail format json, jadi Kaedah ini mesti beroperasi pada objek aliran fail. Sebagai contoh, selepas menggunakan program perangkak untuk melengkapkan penangkapan data, kadangkala perlu menyimpan data dalam format json Dalam kes ini, kaedah json.dump() digunakan seperti berikut:format data kamus python: {'name': 'CSDN', 'PV': '20 million', 'UV' : '8 juta', 'create_time': '1999'}; kepada kamus Python Serupa, tetapi pada asasnya berbeza, JOSN ialah jenis rentetan, manakala kamus Python ialah jenis dict.
Penerangan parameter adalah seperti berikut:
json.dump(object,f,inden=0,ensure_ascii=False)
Buka fail web.json, kandungannya seperti berikut:
import json ditc_info={"name" : "CSDN","PV" : "2000万","UV" : "800万","create_time" : "1999年"} with open("web.josn","a") as f: json.dump(ditc_info,f,ensure_ascii=False)
Anda boleh juga meletakkan Senarai Python ditukar menjadi rentetan JSON dan disimpan ke fail json, seperti yang ditunjukkan di bawah:
{ "name": "CSDN", "PV": "2000万", "UV": "800万", "create_time": "1999年" }
Buka fail info_web.json, kandungannya adalah seperti berikut:
import json item_list = [] item = {'website': 'CSDN', 'url': "www.CSDN.net"} for k,v in item.items(): item_list.append(v) with open('info_web.json', 'a') as f: json.dump(item_list, f, ensure_ascii=False)
["CSDN ", "www.CSDN.net"]
Kaedah ini digunakan untuk mengendalikan objek aliran fail, tetapi ia adalah hanya bertentangan dengan dump(), ia bermakna Membaca rentetan JSON daripada fail json dan menukar kandungan yang dibaca kepada objek Python. Contoh penggunaan adalah seperti berikut:json.load()
Hasil output adalah seperti berikut:
import json site = {'name':'CSDN',"url":"www.CSDN.net"} filename = 'website.json' with open (filename,'w') as f: json.dump(site,f,ensure_ascii=False) with open (filename,'r') as f: print(json.load(f))
{'name': 'CSDN', 'url': 'www.CSDN.net '}
Kaedah ini boleh menukar objek Python kepada rentetan JSON. Contohnya adalah seperti berikut:json.dumps()
Hasil output adalah seperti berikut:
import json #python字典 item = {'website': 'CSDN', 'rank': 1} # json.dumps之后 item = json.dumps(item,ensure_ascii=False) print('转换之后的数据类型为:',type(item)) print(item)
Jenis data yang ditukar ialah:
Ringkasan kaedah JSON
Akhir sekali, ringkasan ringkas kaedah di atas diberikan, seperti ditunjukkan dalam jadual berikut:
Atas ialah kandungan terperinci Apakah kaedah biasa modul json Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!