การทำให้เป็นอนุกรมและการดีซีเรียลไลซ์เซชัน
วัตถุ Python แปลเป็นวัตถุ JSON โดยใช้การทำให้เป็นอนุกรม และวัตถุ JSON แปลเป็นวัตถุ Python โดยใช้การดีซีเรียลไลซ์เซชัน ตารางต่อไปนี้แสดงวิธีที่วัตถุ Python ถูกแปลงเป็นวัตถุ JSON หรือในทางกลับกันในช่วงเวลาของการทำให้เป็นอนุกรมและการดีซีเรียลไลซ์เซชัน
JSON | Python |
จริง | จริง |
เท็จ | เท็จ |
สตริง | สตริง |
ตัวเลข | ตัวเลข |
อาร์เรย์ | รายการ tuple |
วัตถุ | dict |
โมฆะ | ไม่มี |
วิธีการ:
load() : วิธีนี้ใช้เพื่อโหลดข้อมูลจากไฟล์ JSON ลงใน python dict
Loads( ) : วิธีนี้ใช้เพื่อโหลดข้อมูลจากตัวแปร JSON ลงใน python dict
dump() : วิธีนี้ใช้เพื่อโหลดข้อมูลจากพจนานุกรมหลามไปยังไฟล์ JSON
dumps(): วิธีนี้ใช้เพื่อโหลดข้อมูลจากพจนานุกรมหลามไปยังตัวแปร JSON
การอ่านข้อมูล JSON โดยใช้ Python
ข้อมูล JSON สามารถแยกวิเคราะห์และประมวลผลได้หลายวิธีโดยใช้สคริปต์ Python วิธีแยกวิเคราะห์ข้อมูล JSON ชนิดต่างๆ จะแสดงในส่วนนี้โดยใช้ตัวอย่าง Python ต่างๆ สร้างไฟล์ json อย่างง่ายที่ชื่อว่า student.json ด้วยข้อมูลต่อไปนี้เพื่อทดสอบสคริปต์ของบทช่วยสอนนี้
[ {'NS': '1110978','ชื่อ': 'อาลีฟ อัล-ราซี','แบทช์': '3. 4','ภาคเรียน': '8',
'สาขา': 'คสช.'},
{'NS': '2220998','ชื่อ': 'นุสรัต ฟาเรีย','แบทช์': '2.3','ภาคเรียน': '9',
'สาขา': 'บีบีเอ'},
{'NS': '1118934','ชื่อ': 'เอ็มราน ฮอสเซน','แบทช์': '33','ภาคเรียน': '7',
'สาขา': 'คสช.'},
{'NS': '4448934','ชื่อ': 'เรฮานา อัคเตอร์','แบทช์': '41','ภาคเรียน': '10',
'สาขา': 'ENG'},
{'NS': '11107745','ชื่อ': 'ซาอิฟ อาลี','แบทช์': '39','ภาคเรียน': '5',
'สาขา': 'คสช.'}]
ตัวอย่างที่ 1: อ่านและพิมพ์ไฟล์ JSON ในรูปแบบ JSON
สร้างไฟล์ python ชื่อ json1.py ด้วยสคริปต์ต่อไปนี้ โมดูล JSON ใช้เพื่ออ่านข้อมูล JSON โดยใช้สคริปต์หลาม เปิด() วิธีที่ใช้ในการอ่าน student.json ไฟล์และ โหลด() วิธีที่ใช้ในการเก็บข้อมูลลงในตัวแปร ข้อมูล.
#นำเข้า JSONโมดูลนำเข้า json
# เปิดไฟล์ JSON ที่มีอยู่สำหรับกำลังโหลดเป็นตัวแปร
ด้วยการเปิด('student.json')เป็น f:
ข้อมูล=เจสันโหลด(NS)
# พิมพ์ข้อมูล JSON
พิมพ์(ข้อมูล)
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ตัวอย่างที่ 2: อ่านและแยกวิเคราะห์ข้อมูลจากไฟล์ JSON โดยใช้ Python dict
ข้อมูล JSON สามารถเก็บไว้ในตัวแปรพจนานุกรมหลามเพื่อประมวลผลค่าคุณสมบัติแต่ละค่าได้อย่างง่ายดายในภายหลัง สร้างสคริปต์หลามชื่อ json2.py ด้วยรหัสต่อไปนี้ ไฟล์ json ที่สร้างไว้ก่อนหน้านี้ถูกใช้ที่นี่ หลังจากโหลดข้อมูลลงในพจนานุกรมแล้ว ค่าคุณสมบัติของแต่ละเรคคอร์ดจะถูกพิมพ์โดยใช้ชื่อคุณสมบัติ
#นำเข้า jsonโมดูลนำเข้า json
# เปิดไฟล์ json ที่มีอยู่สำหรับกำลังโหลดเป็นตัวแปร
ด้วยการเปิด('student.json','NS')เป็น f:
นักเรียน=เจสันโหลด(NS)
# พิมพ์คุณสมบัติของวัตถุแต่ละชิ้น
สำหรับนักเรียนในนักเรียน:
พิมพ์(นักเรียน['ชื่อ'],',',นักเรียน['แบทช์'],'แบทช์',',', นักเรียน['ภาคเรียน'],
'ภาคเรียน',',',นักเรียน['สาขา'],'สาขา')
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ตัวอย่างที่ 3: แยกวิเคราะห์ข้อมูล JSON
ข้อมูล JSON สามารถแยกวิเคราะห์จากตัวแปร JSON ใดก็ได้ สร้างไฟล์ชื่อ json3.py ด้วยสคริปต์ต่อไปนี้ JSONData ถูกประกาศไว้ที่นี่เพื่อเก็บข้อมูล JSON ของสามพร็อพเพอร์ตี้ โหลด () ใช้ที่นี่เพื่อโหลดข้อมูลจากตัวแปร JSON ถัดไป ค่าคุณสมบัติแต่ละค่าที่มีชื่อคุณสมบัติแต่ละชื่อจะพิมพ์ทีละบรรทัดในเทอร์มินัล
#นำเข้า jsonโมดูลนำเข้า json
# กำหนดข้อมูล json
JSONData= '{'Java': '3 เครดิต', 'PHP': '2 เครดิต', 'C++': '3 เครดิต'}'
# โหลดข้อมูล json ลงในตัวแปร
เก็บข้อมูล=เจสันโหลด(JSONData)
# ย้ำสำหรับวนซ้ำเพื่อพิมพ์ข้อมูลด้วยคีย์
สำหรับวาลใน storedata:
พิมพ์('% NS' % (วาล, เก็บข้อมูล[ชั่วโมง]))
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ตัวอย่างที่ 4: แยกวิเคราะห์ข้อมูล JSON ลงในวัตถุ Python
ข้อมูล JSON ถูกเก็บไว้ในตัวแปรพจนานุกรมหลามในสามตัวอย่างก่อนหน้าของบทช่วยสอนนี้ ตัวอย่างนี้แสดงวิธีที่คุณสามารถเก็บข้อมูล JSON ลงในอ็อบเจ็กต์หลาม สร้างไฟล์ชื่อ json4.py ด้วยสคริปต์ต่อไปนี้ ที่นี่, read_data คลาสใช้เพื่อเก็บข้อมูล JSON ลงในวัตถุ JSONData ตัวแปรจะใช้ในการสร้างวัตถุของคลาส มีสามคุณสมบัติใน JSONData และค่าของชื่อคุณสมบัติ PHP จะพิมพ์เป็นเอาต์พุต
#นำเข้า JSONโมดูลนำเข้า json
# กำหนดข้อมูล JSON
JSONData= '{'Java': '3 เครดิต', 'PHP': '2 เครดิต', 'C++': '3 เครดิต'}'
# ประกาศระดับเพื่อเก็บข้อมูล JSON ลงในพจนานุกรมหลาม
ระดับread_data(วัตถุ):
def __init__(ตัวเอง jdata):
ตัวเอง.__dict__=เจสันโหลด(jdata)
# มอบหมายวัตถุของระดับ
p_object=read_data(JSONData)
#พิมพ์มูลค่าทรัพย์สินเฉพาะ
พิมพ์(p_object.PHP)
เอาท์พุท:
มูลค่าของทรัพย์สิน 'PHP' คือ '2 เครดิต' ดังนั้น ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ตัวอย่างที่ 5: การแปลง Python dict เป็นข้อมูล JSON
ข้อมูล JSON ถูกเก็บไว้ในพจนานุกรม Python หรืออ็อบเจ็กต์ในตัวอย่างก่อนหน้า แต่ข้อมูลจากพจนานุกรม python ยังสามารถเก็บไว้ในตัวแปร JSON ได้อีกด้วย สร้างไฟล์ชื่อ json5.py ด้วยสคริปต์ต่อไปนี้ ข้อมูลถูกเก็บไว้ในตัวแปรพจนานุกรม ลูกค้าDict. ทิ้ง() วิธีถูกใช้ที่นี่เพื่อแปลงข้อมูลจากตัวแปรพจนานุกรมเป็นตัวแปร JSON jsonObject . ถัดไป ค่าของตัวแปร JSON จะถูกพิมพ์เป็นเอาต์พุต
#นำเข้า JSONโมดูลนำเข้า json
# ประกาศพจนานุกรมหลาม
ลูกค้าDict= {'ชื่อ': 'จอห์น','พิมพ์': 'ทอง','อายุ': 35 }
# โหลดข้อมูลจากพจนานุกรมไปยังวัตถุ JSON
jsonData=เจสันทิ้ง(ลูกค้าDict)
# พิมพ์วัตถุ JSON
พิมพ์(jsonData)
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
บทสรุป:
รูปแบบข้อมูล JSON รองรับภาษาโปรแกรมหลายภาษา การแปลงข้อมูล JSON เป็น Python และ python เป็น JSON ได้อธิบายไว้ในบทช่วยสอนนี้โดยใช้ตัวอย่างหลามต่างๆ คุณจะสามารถแปลงข้อมูลประเภทใดก็ได้จากอ็อบเจ็กต์ python เป็นอ็อบเจ็กต์ JSON หรือกลับกันหลังจากฝึกฝนบทช่วยสอนนี้