การสร้างไฟล์ Json ด้วย Python

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

Nes224
PHP Super Member
PHP Super Member
โพสต์: 441
ลงทะเบียนเมื่อ: 20/12/2021 11:36 am

การสร้างไฟล์ Json ด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย Nes224 »

Json คือมาตรฐานการแลกเปลี่ยนข้อมูล โดยจะเก็บข้อมูลในรูปแบบ Key value pairs
ซึ่งมีลักษณะคล้ายกับ Dictionary ใน Python programming language (Python Data type)
ที่มีลักษณะกับ Json โดยรูปแบบเป็นการเก็บข้อมูลแบบ Key value pairs

ขั้นตอนในการสื่อสารส่วนใหญ่จะเป็นในรูปแบบ XML ซึ่งมีโครงสร้างการเก็บข้อมูลที่ค่อนข้างมาก เมื่อเกิน Json, Json จึงมีความนิยมและถูกนำมาใช้งานเป็นอย่างมาก
Json เป็นรูปแบบการเก็บข้อมูลแบบ TEXT ที่มีรูปแบบ Key, value โดยการเขียนข้อมูลด้วย Json จะเป็นลักษณะดังนี้ '{"key":"value"}'
หลังจากนี้ต่อไปจะเป็นขั้นตอนในการเขียนโปรแกรมด้วยภาษา Python เพื่อแปลงข้อมูลใน Dictionary ของ Python
ให้เป็น Json โดยมีขั้นตอนดังนี้

เปิดโปรแกรม IDE ของ Python หรือ Vscode ก็ได้ แล้วทำการ import json หรือ import libraries
เราจะใช้ข้อมูลของสถานีรถไฟฟ้า MRT เพื่อเก็บข้อมูลเป็น dictionary ในรูปแบบ Key & value
โดยจะต้องกำหนด value ที่ใช้ในการเก็บข้อมูลของ dictionary โดยในที่นี้จะใช้ python_dict

โค้ด: เลือกทั้งหมด

import json 
python_dict = {
	"BLO01":{
		"name":{
			"en": "Tha Phra",
			"th": "ท่าพระ"
		},
		"exit": {
			"1": "Soi Phet Kasem 10/2",
			"2A": "Soi Phet Kasem 11",
			"2B": "Bangkokyai District office, Soi Phet Kasem 15",
			"3": "Soi Phet Kasem 12",
			"D": "Soi Krittachak"
		}
	},
	"BL27":{
		"name":{
			"en": "Sam Yan",
			"th": "สามย่าน",
		},
		"exit":{
			"1": "Wat Hua Lamphong",
			"2": "Chamchuri Square"
		}
	},
	"BL22": {
		"name": {
			"en": "Sukhumvit",
			"th": "สุขุมวิท"
		},
		"exit": {
			"1": "Asokmontri Road",
			"2": "Interchange 21",
			"3": "Sukhumvit Road"
		}
	}
}

เมื่อจะทำการแปลง python_dict เป็น .Json ให้คำสั่ง

โค้ด: เลือกทั้งหมด

with open('data.json','w') as json_file:
json.dump(python_dict,json_file)

ในที่นี้จะเป็นการ convert จาก Dictionary เป็น Json object
โดยคำสั่ง with open เป็นการเรียกใช้ฟังก์ชั่น เพื่อส่ง argument ส่งตัวเข้าไป คือ data.json และ w data.json เป็นชื่อไฟล์ ส่วน w ย่อมาจากคำว่า write คือคำสั่งในการเขียนไฟล์ json_file เป็นนามแฝง กำหนดขั้นเพื่อแทนชื่อไฟล์
json.dump เป็น method ในการแปลง python object ให้เป็น json
โดยเมื่อทำการ convert เสร็จเราจะได้ไฟล์ Json ออกมาดังภาพ

โค้ด: เลือกทั้งหมด

{
	"BLO01":{
		"name":{
			"en": "Tha Phra",
			"th": "ท่าพระ"
		},
		"exit": {
			"1": "Soi Phet Kasem 10/2",
			"2A": "Soi Phet Kasem 11",
			"2B": "Bangkokyai District office, Soi Phet Kasem 15",
			"3": "Soi Phet Kasem 12",
			"D": "Soi Krittachak"
		}
	},
	"BL27":{
		"name":{
			"en": "Sam Yan",
			"th": "สามย่าน",
		},
		"exit":{
			"1": "Wat Hua Lamphong",
			"2": "Chamchuri Square"
		}
	},
	"BL22": {
		"name": {
			"en": "Sukhumvit",
			"th": "สุขุมวิท"
		},
		"exit": {
			"1": "Asokmontri Road",
			"2": "Interchange 21",
			"3": "Sukhumvit Road"
		}
	}
}


Json เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่ได้รับความนิยมอย่างมากในปัจจุบัน
ใน Python จะมี module ที่ใช้ในการจัดการกับ Json คือ import Json
ในการ convert python object ให้เป็น json จะใช้คำสั่ง json.dump() (อย่างสับสนกับ json.dumps() อันนั้นเป็นแปลง Json String เป็น Python object (Dict))


https://realpython.com/python-json/
https://www.programiz.com/python-programming/json
https://ichi.pro/th/withi-thangan-kab-fil-json-ni-python-209849337498569
แก้ไขล่าสุดโดย Nes224 เมื่อ 24/12/2021 1:03 pm, แก้ไขไปแล้ว 1 ครั้ง.
บุคคลทั่วไป

Re: การสร้างไฟล์ Json ด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย บุคคลทั่วไป »

ขอโค้ดได้ไหมครับ
Nes224
PHP Super Member
PHP Super Member
โพสต์: 441
ลงทะเบียนเมื่อ: 20/12/2021 11:36 am

Re: การสร้างไฟล์ Json ด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย Nes224 »

Guest เขียน: 23/12/2021 12:47 pm ขอโค้ดได้ไหมครับ

ได้ครับ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 15