Python JSON คืออะไรและจะใช้งานได้อย่างไร?



บทความเกี่ยวกับ Python JSON นี้จะช่วยคุณในการเรียนรู้วิธีการแยกวิเคราะห์อนุกรมและแยกข้อมูล JSON ด้วยความช่วยเหลือของโปรแกรมตัวอย่าง

คุณรู้วิธีขนส่งข้อมูลจาก API ออนไลน์หรือจัดเก็บข้อมูลประเภทต่างๆไปยังเครื่องในพื้นที่ของคุณหรือไม่? ไม่ทางใดก็ทางหนึ่งคุณได้ดื่มด่ำกับ JSON ซึ่งย่อมาจาก สัญลักษณ์ Java Script Object เป็นรูปแบบข้อมูลที่มีชื่อเสียงและเป็นที่นิยมใช้ในการแสดงข้อมูลกึ่งโครงสร้าง มาเรียนรู้เพิ่มเติมเกี่ยวกับ Python JSON โดยละเอียด

จะมีการกล่าวถึงประเด็นต่อไปนี้ในบทความนี้:





รู้เบื้องต้นเกี่ยวกับ JSON ใน Python:

JSON ย่อมาจาก เจ ava เปล หรือ ขงเบ้ง การทดลองเป็นวิธีการจัดเก็บข้อมูลอย่างเป็นระเบียบและง่ายดาย ข้อมูลต้องอยู่ในรูปแบบของข้อความเมื่อแลกเปลี่ยนระหว่างเบราว์เซอร์และเซิร์ฟเวอร์

โลโก้ JSON - Python JSON-Edureka



ในกรณีที่คุณสงสัยว่าเป็น เหรอ? จากนั้นคำตอบคือ ไม่. เป็นสคริปต์ที่ประกอบด้วยข้อความและใช้สำหรับจัดเก็บและถ่ายโอนข้อมูลในรูปแบบที่มนุษย์และเครื่องอ่านได้ เป็นรูปแบบข้อมูลขนาดเล็กน้ำหนักเบาซึ่งได้รับแรงบันดาลใจจาก JavaScript และโดยทั่วไปจะใช้ในรูปแบบข้อความหรือสตริง แพ็คเก็ตของ JSON เกือบจะเหมือนกับพจนานุกรม python ตอนนี้คุณต้องสงสัย

วิธีอ่านไฟล์ JSON ใน Python

คำตอบสำหรับคำถามของคุณคือคุณต้องนำเข้าโมดูล JSON ที่โดยทั่วไปจะแปลงประเภทข้อมูล Python เป็นไฟล์สตริง JSON ประกอบด้วยฟังก์ชัน JSON ที่อ่านและเขียนโดยตรงจากไฟล์ JSON มีแพ็คเกจ JSON ในตัวและเป็นส่วนหนึ่งของไลบรารีมาตรฐานดังนั้นคุณไม่จำเป็นต้องติดตั้ง

ตัวอย่าง:

นำเข้า json

เมื่อคุณรู้จัก JSON ใน Python แล้วเรามาดูรายละเอียดเพิ่มเติมเกี่ยวกับการแยกวิเคราะห์กัน



การแยกวิเคราะห์:

ไลบรารี JSON สามารถแยกวิเคราะห์ JSON จากไฟล์ สตริง หรือไฟล์ นอกจากนี้ยังสามารถแยกวิเคราะห์ JSON เป็นไฟล์ หรือรายการและทำในทางกลับกัน โดยทั่วไปการแยกวิเคราะห์จะเกิดขึ้นในสองขั้นตอน:

  1. การแปลงจาก JSON เป็น Python
  2. การแปลงจาก Python เป็น JSON

มาทำความเข้าใจทั้งสองขั้นตอนกันดีกว่า

java แปลงสองเท่าเป็นจำนวนเต็ม

การแปลงจาก JSON เป็น Python:

คุณสามารถแปลงสตริง JSON เป็น Python โดยใช้ไฟล์json.loads ()ให้ฉันแสดงการใช้งานจริง:

ตัวอย่าง:

นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) พิมพ์ (ข้อมูล)

เอาท์พุต:

ดังที่คุณเห็นจากผลลัพธ์ด้านบนมันได้พิมพ์ไฟล์ . มาพิมพ์ประเภทข้อมูลเพื่อความเข้าใจที่ดีขึ้น

ตัวอย่าง:

นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (type (data)) # พิมพ์ประเภทข้อมูล

เอาท์พุต:



เมื่อคุณคุ้นเคยกับ Conversion หนึ่งรายการแล้วเรามาดู Conversion ประเภทอื่นในขั้นตอนที่สองกัน

การแปลงจาก Python เป็น JSON:

วัตถุ Python สามารถแปลงเป็นสตริง JSON ได้โดยใช้json.dumps ()ลองดูตัวอย่างด้านล่าง:

ตัวอย่าง:

นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) พิมพ์ (new_string)

เอาท์พุต:

เอาต์พุตจะเป็นประเภทสตริง JSON ฉันได้สาธิตประเภทข้อมูลในการแปลง JSON เป็น Python แล้วจะมีการปฏิบัติตามขั้นตอนเดียวกันสำหรับการพิมพ์ประเภทข้อมูล


มาดูกันว่า Pandas แยกวิเคราะห์ JSON อย่างไร

Pandas Parsing JSON:

สตริง JSON สามารถแยกวิเคราะห์เป็นไฟล์ หมีแพนด้า Dataframe จากขั้นตอนต่อไปนี้:

  • สามารถใช้โครงสร้างทั่วไปต่อไปนี้เพื่อโหลดสตริง JSON ลงใน DataFrame
นำเข้าแพนด้าเป็น pd pd.read_json (r'Path ที่คุณบันทึกไฟล์ JSON fileFile Name.json ')
  • เตรียมสตริง JSON
  • สร้างไฟล์ JSON ที่เราใช้คือ nobel_prize.json
  • โหลดไฟล์ JSON ลงใน Panda DataFrame

โค้ดที่ติดตั้งด้านล่างนี้จะโหลดไฟล์ JSON ของฉันลงใน DataFrame

นำเข้าแพนด้าเป็น pd import json ด้วย open (r'C: UsersHarshit_KantDesktopnobel.prize.json ') เป็น f: data = json.load (f) print (data) df = pd.DataFrame print (df)

เอาท์พุต:

ต่อไปให้เราดูว่าคุณสามารถทำให้อนุกรม JSON ใน Python ได้อย่างไร

การทำให้เป็นอนุกรมของ JSON [เข้ารหัส]:

การทำให้อนุกรม JSON หมายความว่าคุณกำลังเข้ารหัส JSON จะแปลงโครงสร้างข้อมูล Python ที่กำหนด (เช่น: dict) เป็นออบเจ็กต์ JSON ที่ถูกต้อง ในการจัดการกระแสข้อมูลในไฟล์ไลบรารี JSON ใน Python ใช้ไฟล์ ถ่ายโอนข้อมูล () และ ทิ้ง () ซึ่งจะทำการแปลงและทำให้ง่ายต่อการเขียนข้อมูลลงในไฟล์

ตารางด้านล่างแสดงให้เห็นถึงไฟล์ Python ประเภทข้อมูล ได้รับการแปลงเป็นประเภท JSON ตามลำดับ

Python JSON

dict (พจนานุกรม)

วัตถุ

รายการอาร์เรย์

ทูเพิล

สตริง

สตริง

int ยาวลอย

ตัวเลข

จริง

จริง

เท็จ

เท็จ

ไม่มี

โมฆะ

สิ่งที่ต้องจำ:

ถ่ายโอนข้อมูล () - แปลงข้อมูลเป็นไฟล์ JSON
ทิ้ง () - แปลงข้อมูลเป็นสตริง JSON
โหลด () - แปลงไฟล์ JSON เป็นวัตถุ Python
โหลด () - แปลงวัตถุของสตริง JSON เป็นวัตถุ Python

การพิมพ์สวย:

Pretty Printing ดูแลการจัดตำแหน่งโค้ดและทำให้อยู่ในรูปแบบที่มนุษย์อ่านได้ ลองดูตัวอย่างด้านล่างซึ่งฉันได้ส่งผ่านพารามิเตอร์สองตัว 'sort_keys' ที่ส่งคืนค่าทรูบูลีนและช่องว่าง 'เยื้อง' เสมอ

ตัวอย่าง:

นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)

เอาท์พุต:

ก้าวไปข้างหน้าในบทช่วยสอน Python JSON ให้เราเข้าใจการดีซีเรียลไลเซชันของ JSON

Deserialization ของ JSON [ถอดรหัส]:

Deserialization ของ JSON ตรงข้ามกับการทำให้เป็นอนุกรมนั่นหมายความว่าคุณกำลังถอดรหัส JSON มันแปลงสตริง JSON ที่กำหนดให้เป็นไฟล์ Python วัตถุ โดยใช้ประโยชน์จาก โหลด () และ โหลด () วิธีการที่จะแปลง

ตารางด้านล่างแสดงให้เห็นถึงการแปลงประเภทข้อมูล JSON เป็นประเภท Python ตามลำดับ

JSON Python

วัตถุ

dict (พจนานุกรม)

ทูเพิล

รายการอาร์เรย์

สตริง

สตริง

ตัวเลข

int ยาวลอย

จริง

จริง

เท็จ

เท็จ

โมฆะ

ไม่มี

ก้าวต่อไปในบทแนะนำ 'Python JSON' ฉันจะแสดงตัวอย่างแบบเรียลไทม์ของทั้งการทำให้เป็นอนุกรมและการดีซีเรียลไลเซชันผ่านมุมมองการเข้ารหัส

การสาธิตการเข้ารหัส:

ในการสาธิตการเข้ารหัสนี้ฉันกำลังใช้ชุดข้อมูล JSON ที่เรียกว่า 'รางวัลโนเบล' ที่มอบให้ ที่นี่ . คุณจะได้เรียนรู้วิธีการทำซีเรียลไลเซชั่นและการดีซีเรียลไลเซชันเดียวกันผ่านไฟล์ JSON

ตัวอย่าง (Serialization of JSON dataset):

นำเข้า json ด้วย open ('nobel_prize.json.html') เป็น f: data = json.load (f) ด้วย open ('new_nobel_prize.json.html') เป็น f: json.dump (data, f, indent = 2)

เอาท์พุต:

คอมไพล์สำเร็จและไฟล์ใหม่“ new_nobel_prize.json” ถูกสร้างขึ้นซึ่งข้อมูลจะถูกถ่ายโอนจากไฟล์ที่มีอยู่แล้ว“ nobel_prize.json”

ย้อนกลับตัวเลขใน java

ตัวอย่าง (Deserialization ของชุดข้อมูล JSON):

นำเข้า json โดยเปิด ('nobel_prize.json.html') เป็น f: data = json.load (f) สำหรับ nobel_prize ในข้อมูล ['รางวัล']: พิมพ์ (nobel_prize ['year'], nobel_prize ['category'])

เอาท์พุต:

ข้อมูลโค้ดแสดงการเปลี่ยนแปลงจากไฟล์ JSON ไปยังออบเจ็กต์ Python ที่เกี่ยวข้อง

เรามาถึงตอนท้ายของบทความ“ Python JSON” ฉันหวังว่าคุณจะเข้าใจแนวคิดทั้งหมดที่เกี่ยวข้องกับ JSON, Parsing, Serialization และ Deserialization

ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ Python JSON แล้วเราจะติดต่อกลับโดยเร็วที่สุด หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถทำได้ ด้วยการฝึกอบรมออนไลน์สดของเราพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต