Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python JSON

JSON เป็นรูปแบบข้อมูลยอดนิยมที่ใช้สำหรับการจัดเก็บข้อมูลที่มีโครงสร้าง

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

ในคู่มือนี้ เราจะอธิบายพื้นฐานของรูปแบบข้อมูล JSON วิธีใช้โมดูล Python json และวิธีการทำงานกับ JSON ใน Python เมื่ออ่านบทช่วยสอนนี้จบแล้ว คุณจะเป็นผู้เชี่ยวชาญในการใช้ JSON ในโปรแกรม Python ของคุณ!

JSON คืออะไร

JSON ซึ่งย่อมาจาก JavaScript Object Notation คือรูปแบบข้อมูลที่ช่วยให้คุณจัดเก็บข้อมูลที่มีโครงสร้างได้

บ่อยครั้งที่ JSON ใช้เพื่อส่งข้อมูลไปยังและจากเซิร์ฟเวอร์ในเว็บแอปพลิเคชัน ตัวอย่างเช่น คุณอาจเคยเห็น API จำนวนมาก เช่น Fitbit API หรือ Google Maps API ส่งคืนข้อมูลในรูปแบบ JSON

เนื่องจากข้อมูล JSON ได้มาตรฐาน มีโครงสร้าง และอ่านง่าย

นี่คือตัวอย่างของบันทึก JSON ใน Python:

{ "name":"James Smith", "id":202, "probation":False}

เร็กคอร์ดนี้เก็บคีย์สามคีย์ ซึ่งอยู่ทางด้านซ้ายของโคลอน (:) และสามค่า ซึ่งเก็บไว้ที่ด้านขวาของโคลอน แต่ละคีย์ถูกผูกไว้กับค่า

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

รูปแบบข้อมูล JSON ไม่ควรสับสนกับพจนานุกรม แม้ว่าสิ่งนี้อาจดูเหมือนพจนานุกรม แต่ JSON เป็นรูปแบบข้อมูล ในขณะที่พจนานุกรมเป็นโครงสร้างข้อมูล

ซึ่งหมายความว่า หากคุณต้องการเก็บข้อมูล JSON ของคุณในพจนานุกรม คุณจะต้องแปลงเป็นพจนานุกรม หากคุณต้องการจัดเก็บพจนานุกรมเป็น JSON คุณจะต้องแปลงเป็น JSON

นำเข้า json ใน Python

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

ในการนำเข้าโมดูล JSON คุณสามารถใช้คำสั่งนี้:

import json

เมื่อเรานำเข้าโมดูล JSON ลงในโค้ดของคุณแล้ว เราก็สามารถเริ่มทำงานกับฟังก์ชันของโมดูลได้

แยกวิเคราะห์ JSON ใน Python

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

หากต้องการแยก JSON ลงในพจนานุกรม คุณสามารถใช้ json.loads() กระบวนการ.

json.loads() ยอมรับหนึ่งพารามิเตอร์:สตริง JSON ที่คุณต้องการแปลงเป็นพจนานุกรม

สมมติว่าคุณมีสตริง JSON ที่เก็บข้อมูลเกี่ยวกับโครงการที่ coder ได้รับมอบหมายในทีมวิศวกรรม คุณต้องการแปลงสตริง JSON นั้นเป็นพจนานุกรม โดยคุณสามารถใช้รหัสนี้:

นำเข้า jsonemployee ="{'name':'Linda Richardson', 'projects':['Directory', 'Homepage']}"employee_dictionary =json.loads(employee)print(employee_dictionary)print(employee_dictionary["name "])

รหัสของเราส่งคืน:

{'name':'Linda Richardson', 'projects':['Directory', 'Homepage']}

ลินดา ริชาร์ดสัน

มาทำลายรหัสของเรากัน ขั้นแรก เรานำเข้าโมดูล json ลงในโค้ดของเรา จากนั้นเราประกาศสตริงที่เรียกว่า employee ซึ่งเก็บบันทึกพนักงานของเราไว้ในโครงสร้าง JSON

ต่อไปเราใช้ json.loads() เพื่อแปลง employee . ของเรา สตริงเป็น JSON จากนั้น เราพิมพ์พจนานุกรมใหม่ของเราไปที่คอนโซล นอกจากนี้เรายังพิมพ์ค่าของ name กุญแจสู่คอนโซล

อย่างที่คุณเห็น พจนานุกรมของเราเหมือนกับสตริง JSON แต่ตอนนี้ข้อมูลของเราถูกเก็บไว้เป็นพจนานุกรม เราสามารถบอกได้เพราะเมื่อเราพิมพ์ค่าของคีย์ "name" "Linda Richardson" จะถูกพิมพ์ไปที่คอนโซล

แปลงพจนานุกรมเป็นสตริง JSON

เมื่อคุณทำงานกับพจนานุกรม คุณอาจต้องการแปลงเป็นสตริง JSON

นี่เป็นการดำเนินการทั่วไป เนื่องจากคุณบันทึกค่า JSON ลงในไฟล์ จึงจำเป็นต้องจัดรูปแบบเป็นสตริง ในการแปลงพจนานุกรมเป็น JSON เราสามารถใช้ json.dumps() กระบวนการ.

สมมติว่าเราต้องการแปลงพจนานุกรมที่มีข้อมูลเกี่ยวกับพนักงานเป็นสตริง JSON เราสามารถทำได้โดยใช้รหัสนี้:

นำเข้า jsonemployee ={ "name":"Linda Richardson", "id":107, "probation":False, "department":"Sales"}employee_json =json.dumps(employee)print(employee_json) 

รหัสของเราส่งคืน:

'{"ชื่อ":"ลินดา ริชาร์ดสัน", "id":107, "การคุมประพฤติ":เท็จ, "แผนก":"ฝ่ายขาย"}'

แม้ว่าผลลัพธ์ของโค้ดของเราอาจดูเหมือนพจนานุกรมดั้งเดิมของเรา แต่ตอนนี้พจนานุกรมของเราถูกจัดเก็บเป็นสตริง

การจัดรูปแบบสตริง JSON

json.dumps() เมธอดมาพร้อมกับพารามิเตอร์สองสามตัวที่คุณสามารถใช้เพื่อให้อ่านสตริงสุดท้ายที่สร้างโดยเมธอดได้ง่ายขึ้น

indent พารามิเตอร์ช่วยให้คุณกำหนดจำนวนการเยื้องที่ปรากฏในสตริง JSON สุดท้าย สมมติว่าคุณต้องการเพิ่มการเยื้องสี่ครั้งในแต่ละบรรทัดในสตริง JSON ของคุณ คุณสามารถทำได้โดยใช้ json.dumps() . ต่อไปนี้ คำแถลง:

employee_json =json.dumps(พนักงาน เยื้อง=4)

คำสั่งนี้เมื่อรวมกับตัวอย่างสุดท้ายของเรา จะกลับมา:

{ "name":"Linda Richardson", "id":107, "probation":false, "department":"Sales"}

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

สมมติว่าเราต้องการแยกคีย์และค่าโดยใช้เครื่องหมายเท่ากับ (=) และเราต้องการใช้การเยื้อง 4 เราสามารถทำได้โดยใช้คำสั่งนี้:

employee_json =json.dumps(พนักงาน เยื้อง=4 ตัวคั่น=(", , " ="))

รหัสของเราส่งคืน:

{ "name" ="Linda Richardson", "id" =107, "probation" =false, "department" ="Sales"}

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

อ่านไฟล์ JSON

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

สมมติว่าเรามีไฟล์ชื่อ employee.json ซึ่งเราต้องการโหลดลงในโปรแกรมของเรา เนื้อหาของไฟล์นี้มีดังนี้:

{"name":"Linda Richardson", "id":107, "probation":false}

เราสามารถทำได้โดยใช้รหัสนี้:

{"name":"Linda Richardson", "id":107, "probation":false}เราสามารถทำได้โดยใช้รหัสนี้:import jsonwith open('employee.json') เป็น final_file:employee =json load(final_file)print(พนักงาน)

รหัสของเราส่งคืน:

{"name":"Linda Richardson", "id":107, "probation":false}

ในโค้ดนี้ ขั้นแรกเราจะนำเข้าไลบรารี json จากนั้น เราใช้ with คำสั่งให้อ่าน employee.json . ของเรา ไฟล์. เราใช้ json.load() วิธีการแปลงเนื้อหาของไฟล์ของเราเก็บไว้ใน file ตัวแปรไปยังพจนานุกรม จากนั้นเราพิมพ์ค่าของพจนานุกรมของเราออกมา

เขียน JSON ลงในไฟล์

คุณสามารถใช้ json.dump() วิธีเขียน JSON ไปยังไฟล์ใน Python

json.dump() เมธอดยอมรับสองพารามิเตอร์:พจนานุกรมที่คุณต้องการเขียนไปยังไฟล์ และอ็อบเจ็กต์ไฟล์ที่คุณต้องการเขียนพจนานุกรมของคุณ

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

import jsonemployee ={ "name":"Linda Richardson", "id":107, "probation":False, "department":"Sales"}ด้วย open('linda_employee.json', 'w') เป็น final_file:json.dump(พนักงาน, final_file)

มาทำลายรหัสของเรากัน ขั้นแรก เรานำเข้าโมดูล json ลงในโปรแกรมของเรา จากนั้น เราประกาศตัวแปรที่เก็บข้อมูลเกี่ยวกับพนักงานชื่อลินดา ริชาร์ดสันไว้ในโครงสร้างพจนานุกรม

ต่อไป เราใช้คำสั่ง "with" พร้อมแฟล็ก "w" เพื่อเตรียมไฟล์ชื่อ linda_employee.json ที่เราเขียนได้ จากนั้นเราใช้ json.dump() เพื่อแปลง employee . ของเรา พจนานุกรมเป็นสตริง JSON และบันทึกลงใน final_file . ของเรา วัตถุ.

เมื่อโปรแกรมนี้ทำงาน เนื้อหาของ employee . ของเรา พจนานุกรมถูกเขียนลงใน linda_employee.json ไฟล์. เนื้อหาสุดท้ายของไฟล์นี้คือ:

{"name": "Linda Richardson", "id": 107, "probation": false, "department": "Sales"}

บทสรุป

โมดูล Python json ช่วยให้คุณอ่านและจัดการข้อมูล JSON

การใช้โมดูล json คุณสามารถ:

  • อ่าน JSON จากไฟล์
  • แปลงพจนานุกรมเป็น JSON
  • แปลง JSON เป็นพจนานุกรม
  • เขียนสตริง JSON ลงในไฟล์

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


คุณสนใจที่จะเรียนรู้วิธีเขียนโค้ดใน Python หรือไม่? ดาวน์โหลด แอป Career Karma ฟรี วันนี้เพื่อปลดล็อกแหล่งข้อมูลการเรียนรู้ชั้นนำและค้นพบโปรแกรมการฝึกอบรมที่จะช่วยให้คุณเชี่ยวชาญ Python