เรียนรู้การจัดการข้อมูล JSON ด้วย Python

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

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

ภาพประจำตัวสมาชิก
opj
PHP Hero Member
PHP Hero Member
โพสต์: 195
ลงทะเบียนเมื่อ: 16/12/2024 9:05 am

เรียนรู้การจัดการข้อมูล JSON ด้วย Python

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

ในยุคปัจจุบัน ข้อมูลถือเป็นหัวใจสำคัญของการพัฒนาโปรแกรมและการสื่อสารระหว่างระบบต่างๆ หนึ่งในรูปแบบข้อมูลที่ได้รับความนิยมสูงสุดคือ JSON (JavaScript Object Notation) เนื่องจากมีโครงสร้างที่อ่านง่ายและยืดหยุ่น จึงถูกใช้ในหลากหลายงาน เช่น การพัฒนา API การส่งข้อมูลระหว่างเซิร์ฟเวอร์กับไคลเอนต์ หรือการเก็บข้อมูลในรูปแบบไฟล์
json_python.png
json_python.png (18.08 KiB) Viewed 207 times
สำหรับนักพัฒนาที่ใช้ Python จะมีเครื่องมือในตัวเอง (built-in) อย่างโมดูล json ที่ช่วยให้การทำงานกับข้อมูล JSON เป็นเรื่องง่าย ไม่ว่าจะเป็นการอ่านไฟล์ JSON การเขียนข้อมูลออกมา หรือการแปลงข้อมูลระหว่าง JSON กับโครงสร้างข้อมูลใน Python เช่น dictionary และ list

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

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

    # data.json
    {
        "name": "Malai Jaidee",
        "age": 30,
        "languages": ["Python", "Node.js", "JavaScript"]
    }
    
    เราสามารถอ่านไฟล์ JSON นี้ได้ และแปลงเป็น Python dictionary ได้โดยใช้คำสั่ง json.load()

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

    import json
    
    # เปิดไฟล์และอ่านข้อมูล JSON
    with open('data.json', 'r') as file:
        data = json.load(file)
    
    # แสดงข้อมูล
    print(data)
    จะได้ผลลัพธ์

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

    {
        "name": "Malai Jaidee",
        "age": 30,
        "languages": ["Python", "Node.js", "JavaScript"]
    }
  2. การเขียนข้อมูล JSON ใน Python
    หากเราต้องการเขียนข้อมูล JSON และต้องการบันทึกเป็นไฟล์ JSON สามารถใช้ json.dump() เพื่อเขียนข้อมูลลงในไฟล์ได้
    ตัวอย่างการเขียนข้อมูล JSON

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

    import json
    
    # ข้อมูลที่ต้องการบันทึก
    data = {
        "name": "Malai Jaidee",
        "age": 30,
        "languages": ["Python", "Node.js", "JavaScript"]
    }
    
    # เขียนข้อมูลลงในไฟล์ output.json
    with open('output.json', 'w') as file:
        json.dump(data, file, indent=4)
    
    print("ข้อมูลถูกบันทึกลงในไฟล์ output.json แล้ว")
    ในไฟล์ output.json จะมีข้อมูลดังนี้

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

    {
        "name": "Malai Jaidee",
        "age": 30,
        "languages": ["Python", "Node.js", "JavaScript"]
    }
  3. การแปลงข้อมูลระหว่าง JSON และ Python Object
    ใน Python จะมีใช้ฟังก์ชัน json.loads() และ json.dumps() เพื่อแปลงข้อมูล JSON เป็น Python object
    ตัวอย่างการแปลงจาก JSON string เป็น Python object

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

    import json
    
    # JSON string
    json_string = '{"name": "Malai Jaidee", "age": 30, "languages": ["Python", "Node.js", "JavaScript"]}'
    
    # แปลง JSON string เป็น Python dictionary
    data = json.loads(json_string)
    
    print(data)
    ตัวอย่างการแปลงจาก Python object เป็น JSON string

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

    import json
    
    # Python dictionary
    data = {
        "name": "Malai Jaidee",
        "age": 30,
        "languages": ["Python", "Node.js", "JavaScript"]
    }
    
    # แปลง Python dictionary เป็น JSON string
    json_string = json.dumps(data, indent=4)
    
    print(json_string)
สรุป
บทความนี้จะช่วยให้คุณเข้าใจการจัดการข้อมูล JSON ด้วย Python ซึ่งสามารถนำไปประยุกต์ใช้ในงานต่างๆ ได้มากขึ้น เช่น:
พัฒนาแอปพลิเคชัน: ใช้ JSON เพื่อสื่อสารระหว่างส่วน frontend และ backend
การทำงานกับ API: ดึงข้อมูล JSON จาก API มาประมวลผล หรือส่งข้อมูลกลับในรูปแบบ JSON
การวิเคราะห์ข้อมูล: นำ JSON มาแปลงเป็น DataFrame ด้วย Pandas เพื่อวิเคราะห์ข้อมูล
การสร้างระบบอัตโนมัติ: ใช้ JSON สำหรับเก็บการตั้งค่า (configuration) หรือผลลัพธ์จากการทำงาน


อ้างอิง
https://devhub.in.th/blog/python-json
viewtopic.php?t=80344
https://python3.wannaphong.com/2015/04/python-json.html?m=1
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 1