คู่มือนักพัฒนา 22 Feb 2026 อ่าน 12 นาที

คู่มือ JSON ฉบับสมบูรณ์: จัดรูปแบบ ตรวจสอบ และแปลงข้อมูลของคุณ

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

Complete Guide to JSON Formatting and Validation

JSON คืออะไรและทำไมถึงสำคัญ?

JSON (JavaScript Object Notation) เป็นรูปแบบการแลกเปลี่ยนข้อมูลแบบเบาที่กลายเป็นมาตรฐานโดยพฤตินัยสำหรับการส่งข้อมูลระหว่างเซิร์ฟเวอร์และแอปพลิเคชันเว็บ สร้างขึ้นโดย Douglas Crockford ในช่วงต้นทศวรรษ 2000 JSON ถูกออกแบบมาให้มนุษย์อ่านและเขียนได้ง่าย และให้เครื่องจักรแยกวิเคราะห์และสร้างได้ง่าย

ทุกวันนี้ JSON มีอยู่ทุกที่ REST API ใช้สำหรับเนื้อหาคำขอและการตอบกลับ ไฟล์คอนฟิกในเครื่องมือเช่น package.json, tsconfig.json และ .eslintrc.json พึ่งพามัน ฐานข้อมูลเช่น MongoDB เก็บเอกสารในรูปแบบคล้าย JSON แม้แต่การสื่อสารระหว่างบริการในสถาปัตยกรรมไมโครเซอร์วิสก็ใช้ JSON เป็นหลัก

การเข้าใจ JSON ไม่ใช่ทางเลือกสำหรับนักพัฒนาสมัยใหม่ -- มันเป็นทักษะพื้นฐาน ไม่ว่าคุณจะเป็นนักพัฒนาฝั่งหน้าที่ใช้ข้อมูล API วิศวกรฝั่งหลังที่ออกแบบ API หรือวิศวกร DevOps ที่จัดการไฟล์คอนฟิก คุณทำงานกับ JSON ทุกวัน

ไวยากรณ์ JSON: กฎทั้งหมด

ไวยากรณ์ JSON ดูเรียบง่ายอย่างหลอกลวง แต่การผิดพลาดในรายละเอียดจะนำไปสู่ข้อผิดพลาดในการแยกวิเคราะห์ที่อาจแก้ไขได้ยาก นี่คือกฎทั้งหมด:

ชนิดข้อมูล

JSON รองรับชนิดข้อมูลหกชนิด:

  • สตริง: ข้อความที่ล้อมด้วยเครื่องหมายคำพูดคู่ ตัวอย่าง: "สวัสดีชาวโลก"
  • ตัวเลข: จำนวนเต็มหรือทศนิยม ตัวอย่าง: 42, 3.14, -7, 1.5e10
  • บูลีน: true หรือ false (ตัวพิมพ์เล็กเท่านั้น)
  • Null: ค่า null (ตัวพิมพ์เล็กเท่านั้น)
  • อ็อบเจกต์: คอลเลกชันคู่คีย์-ค่าที่ไม่เรียงลำดับ ล้อมด้วยวงเล็บปีกกา {}
  • อาร์เรย์: รายการค่าที่เรียงลำดับ ล้อมด้วยวงเล็บเหลี่ยม []

กฎไวยากรณ์สำคัญ

  • คีย์ทั้งหมดต้องเป็นสตริงที่ล้อมด้วยเครื่องหมายคำพูดคู่ (ไม่อนุญาตเครื่องหมายคำพูดเดี่ยว)
  • คู่คีย์-ค่าแยกด้วยเครื่องหมายทวิภาค (:)
  • คู่หรือค่าหลายตัวแยกด้วยเครื่องหมายจุลภาค (,)
  • ไม่อนุญาตเครื่องหมายจุลภาคท้ายหลังรายการสุดท้าย
  • ไม่อนุญาตความคิดเห็น (ต่างจาก JavaScript)
  • องค์ประกอบรากต้องเป็นอ็อบเจกต์ {} หรืออาร์เรย์ []

ตัวอย่าง JSON ที่ถูกต้อง

{
    "name": "John Doe",
    "age": 30,
    "isActive": true,
    "email": null,
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "zipCode": "10001"
    },
    "skills": ["JavaScript", "Python", "SQL"],
    "projects": [
        {
            "name": "Website Redesign",
            "status": "completed",
            "year": 2025
        },
        {
            "name": "API Migration",
            "status": "in-progress",
            "year": 2026
        }
    ]
}

10 ข้อผิดพลาด JSON ที่พบบ่อยที่สุด (และวิธีแก้ไข)

แม้แต่นักพัฒนาที่มีประสบการณ์ก็ทำผิดพลาดเหล่านี้ นี่คือข้อผิดพลาดไวยากรณ์ JSON ที่พบบ่อยที่สุดและวิธีแก้ไข:

1. เครื่องหมายจุลภาคท้าย

นี่คือข้อผิดพลาด JSON ที่พบบ่อยที่สุด JavaScript อนุญาตเครื่องหมายจุลภาคท้าย แต่ JSON ไม่อนุญาต

// ผิด - เครื่องหมายจุลภาคท้ายหลัง "SQL"
{
    "skills": ["JavaScript", "Python", "SQL",]
}

// ถูกต้อง
{
    "skills": ["JavaScript", "Python", "SQL"]
}

2. เครื่องหมายคำพูดเดี่ยวแทนเครื่องหมายคำพูดคู่

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

// ผิด
{\'name\': \'John\'}

// ถูกต้อง
{"name": "John"}

3. คีย์ที่ไม่มีเครื่องหมายคำพูด

ต่างจากอ็อบเจกต์ JavaScript คีย์ JSON ต้องเป็นสตริงที่มีเครื่องหมายคำพูดเสมอ

// ผิด
{name: "John", age: 30}

// ถูกต้อง
{"name": "John", "age": 30}

4. การใช้ Undefined หรือ NaN

JSON ไม่รองรับ undefined, NaN หรือ Infinity ให้ใช้ null แทน

5. ความคิดเห็นใน JSON

JSON ไม่รองรับความคิดเห็น หากคุณต้องการความคิดเห็นในไฟล์คอนฟิก ให้พิจารณาใช้ JSONC (JSON พร้อมความคิดเห็น) หรือ YAML แทน

6. เครื่องหมายจุลภาคที่หายไประหว่างรายการ

// ผิด - เครื่องหมายจุลภาคหายไประหว่าง "age" และ "city"
{"name": "John" "age": 30}

// ถูกต้อง
{"name": "John", "age": 30}

7. อักขระพิเศษที่ไม่ได้ Escape ในสตริง

อักขระเช่น แบ็กสแลช เครื่องหมายคำพูดคู่ การขึ้นบรรทัดใหม่ และแท็บภายในสตริงต้องทำ escape

// ผิด
{"path": "C:\Users\file.txt"}

// ถูกต้อง
{"path": "C:\Users\file.txt"}

8. การใช้เลขฐานสิบหก

JSON รองรับเฉพาะเลขฐานสิบ ค่าฐานสิบหกเช่น 0xFF ไม่ถูกต้อง

9. เลขศูนย์นำหน้าในตัวเลข

ตัวเลขเช่น 007 หรือ 01 ไม่ถูกต้องใน JSON ให้ใช้ 7 หรือ 1 แทน

10. ตัวพิมพ์ใหญ่-เล็กของ Boolean/Null ไม่ถูกต้อง

Boolean และ null ต้องเป็นตัวพิมพ์เล็ก: true, false, null ค่าเช่น True, FALSE หรือ NULL ไม่ถูกต้อง

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

แนวทางปฏิบัติที่ดีในการจัดรูปแบบ JSON

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

การย่อหน้า

ใช้การย่อหน้าที่สม่ำเสมอตลอดทั้ง JSON ของคุณ สองรูปแบบที่พบบ่อยที่สุดคือ:

  • 2 ช่องว่าง: เป็นที่นิยมในระบบนิเวศ JavaScript/Node.js (คู่มือสไตล์ Google)
  • 4 ช่องว่าง: เป็นที่นิยมในระบบนิเวศ Python และมาตรฐานองค์กรหลายแห่ง
  • แท็บ: พบน้อยกว่าแต่บางนักพัฒนาชอบเพื่อการเข้าถึง

ใน JavaScript คุณสามารถจัดรูปแบบ JSON ด้วยการย่อหน้าที่ต้องการโดยใช้ JSON.stringify(data, null, 2) โดยอาร์กิวเมนต์ที่สามคือจำนวนช่องว่าง

หลักการตั้งชื่อคีย์

  • camelCase: "firstName" -- เป็นที่นิยมมากที่สุดใน JavaScript API
  • snake_case: "first_name" -- พบบ่อยใน Python และ Ruby API
  • kebab-case: "first-name" -- พบน้อยกว่า ใช้ใน REST API บางตัว

กฎที่สำคัญที่สุดคือความสม่ำเสมอ เลือกหนึ่งหลักการและยึดมั่นตลอดทั้ง API หรือคอนฟิกของคุณ

บีบอัด vs. จัดรูปแบบ

ใช้ JSON แบบบีบอัด (ไม่มีช่องว่าง) สำหรับ API ที่ใช้จริงและการถ่ายโอนข้อมูลเพื่อลดแบนด์วิดท์ ใช้ JSON แบบจัดรูปแบบ (พร้อมการย่อหน้า) สำหรับไฟล์คอนฟิก เอกสาร การแก้ไขข้อผิดพลาด และการบันทึก

JSON vs. XML vs. YAML: เมื่อไหร่ควรใช้อะไร

JSON ไม่ใช่รูปแบบข้อมูลเดียว นี่คือการเปรียบเทียบกับทางเลือกอื่น:

คุณสมบัติ JSON XML YAML
ความสามารถในการอ่าน ดี ปานกลาง (เยิ่นเย้อ) ยอดเยี่ยม
ขนาดไฟล์ เล็ก ใหญ่ (โอเวอร์เฮดแท็ก) เล็กที่สุด
ความคิดเห็น ไม่รองรับ รองรับ รองรับ
ชนิดข้อมูล 6 ชนิด ข้อความเท่านั้น (ต้องการสคีมา) หลากหลาย (วันที่ ฯลฯ)
การตรวจสอบสคีมา JSON Schema XSD, DTD จำกัด
เหมาะสำหรับ API, ไฟล์คอนฟิก เอกสาร, SOAP API คอนฟิก, CI/CD

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

ใช้ XML เมื่อ: ทำงานกับระบบเก่า SOAP API รูปแบบเอกสาร (เช่น SVG, RSS) หรือเมื่อต้องการการตรวจสอบสคีมาที่ครบถ้วน

ใช้ YAML เมื่อ: เขียนไฟล์คอนฟิก (Docker Compose, Kubernetes, GitHub Actions) ที่ความสามารถในการอ่านของมนุษย์และความคิดเห็นเป็นสิ่งสำคัญ

ต้องการแปลงระหว่างรูปแบบเหล่านี้? เครื่องมือของเราทำให้ง่าย: JSON เป็น YAML, YAML เป็น JSON และ ตัวจัดรูปแบบ XML ทั้งหมดพร้อมใช้งานฟรี

การทำงานกับ JSON: การแปลงในทางปฏิบัติ

JSON เป็น CSV

เมื่อคุณต้องวิเคราะห์ข้อมูล JSON ในสเปรดชีตหรือนำเข้าสู่ฐานข้อมูล การแปลง JSON เป็น CSV เป็นสิ่งจำเป็น สิ่งนี้พบได้บ่อยเป็นพิเศษเมื่อทำงานกับข้อมูล API ที่ต้องแชร์กับผู้มีส่วนได้เสียที่ไม่ใช่ฝ่ายเทคนิค

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

CSV เป็น JSON

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

JSON เป็น YAML และกลับกัน

การสลับระหว่าง JSON และ YAML เป็นงานประจำวันสำหรับวิศวกร DevOps ไฟล์ Docker Compose, Kubernetes manifest และ CI/CD pipeline ใช้ YAML ในขณะที่ API และโค้ดแอปพลิเคชันใช้ JSON ตัวแปลง JSON เป็น YAML และ YAML เป็น JSON ของเราทำให้การเปลี่ยนผ่านเหล่านี้ราบรื่น

JSON ใน API: การจัดการคำขอและการตอบกลับ

API สมัยใหม่ส่วนใหญ่สื่อสารโดยใช้ JSON การเข้าใจวิธีจัดโครงสร้างคำขอ JSON อย่างถูกต้องและแยกวิเคราะห์การตอบกลับ JSON เป็นสิ่งสำคัญสำหรับการพัฒนา API

โครงสร้างการตอบกลับ API ทั่วไป

{
    "status": "success",
    "data": {
        "users": [
            {
                "id": 1,
                "name": "Alice",
                "email": "[email protected]",
                "role": "admin"
            },
            {
                "id": 2,
                "name": "Bob",
                "email": "[email protected]",
                "role": "user"
            }
        ],
        "pagination": {
            "page": 1,
            "perPage": 20,
            "total": 150,
            "totalPages": 8
        }
    },
    "meta": {
        "requestId": "abc-123-def",
        "timestamp": "2026-02-22T10:30:00Z"
    }
}

แนวทางปฏิบัติที่ดีสำหรับ JSON ใน API

  • ซองจดหมายที่สม่ำเสมอ: ห่อหุ้มการตอบกลับในโครงสร้างมาตรฐานพร้อมฟิลด์สถานะ ข้อมูล และข้อผิดพลาดเสมอ
  • เมตาดาต้าการแบ่งหน้า: รวมหน้า ขีดจำกัด จำนวนทั้งหมด และลิงก์นำทางสำหรับ endpoint แบบรายการ
  • การตอบกลับข้อผิดพลาด: ใช้รูปแบบข้อผิดพลาดที่สม่ำเสมอพร้อมฟิลด์รหัส ข้อความ และรายละเอียด
  • รูปแบบวันที่: ใช้รูปแบบ ISO 8601 (2026-02-22T10:30:00Z) สำหรับค่าวันที่/เวลาทั้งหมด
  • การจัดการ null: รวมฟิลด์ที่มีค่า null แทนที่จะละเว้นเพื่อความสม่ำเสมอ

JSON Schema: การตรวจสอบโครงสร้างข้อมูล

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

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
        },
        "age": {
            "type": "integer",
            "minimum": 0,
            "maximum": 150
        },
        "email": {
            "type": "string",
            "format": "email"
        }
    },
    "required": ["name", "email"]
}

JSON Schema มีค่าอย่างยิ่งสำหรับการตรวจสอบสัญญา API การตรวจสอบแบบฟอร์ม การตรวจสอบไฟล์คอนฟิก และการทดสอบอัตโนมัติ ภาษาโปรแกรมส่วนใหญ่มีไลบรารีตรวจสอบ JSON Schema

เคล็ดลับด้านประสิทธิภาพ: การทำงานกับไฟล์ JSON ขนาดใหญ่

เมื่อจัดการกับไฟล์ JSON ขนาดใหญ่ (เมกะไบต์ขึ้นไป) ประสิทธิภาพกลายเป็นข้อกังวล:

  • ตัวแยกวิเคราะห์แบบสตรีม: แทนที่จะโหลด JSON ทั้งหมดเข้าหน่วยความจำ ใช้ตัวแยกวิเคราะห์แบบสตรีมเช่น JSONStream ใน Node.js หรือ ijson ใน Python
  • บีบอัดสำหรับการถ่ายโอน: ลบช่องว่างทั้งหมดก่อนส่ง JSON ผ่านเครือข่าย สิ่งนี้สามารถลดขนาดไฟล์ได้ 20-40%
  • การบีบอัด: เปิดใช้งานการบีบอัด gzip หรือ Brotli บนเซิร์ฟเวอร์ของคุณสำหรับการตอบกลับ JSON
  • การแบ่งหน้า: แทนที่จะส่งคืนบันทึกนับพันในการตอบกลับเดียว ให้ใช้การแบ่งหน้า
  • การเลือกฟิลด์: อนุญาตให้ไคลเอนต์ขอเฉพาะฟิลด์ที่ต้องการ (เหมือนที่ GraphQL ทำ)

เครื่องมือ JSON ที่นักพัฒนาทุกคนควรรู้

นอกเหนือจากตัวจัดรูปแบบ JSON นี่คือเครื่องมือที่เกี่ยวข้องที่ทำให้ชุดเครื่องมือ JSON ของคุณสมบูรณ์:

สรุป

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

ประเด็นสำคัญจากคู่มือนี้คือ: ตรวจสอบ JSON ของคุณก่อนใช้งานเสมอ รักษาหลักการจัดรูปแบบและการตั้งชื่อที่สม่ำเสมอ เลือกรูปแบบที่เหมาะสม (JSON, XML หรือ YAML) สำหรับแต่ละกรณีการใช้งาน และใช้ประโยชน์จากเครื่องมือออนไลน์เพื่อประหยัดเวลาในงานจัดรูปแบบและแปลงที่ซ้ำซ้อน

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

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

จัดรูปแบบ ตรวจสอบ และตกแต่งข้อมูล JSON ของคุณทันที ประมวลผลฝั่งไคลเอนต์ 100% -- ข้อมูลของคุณไม่เคยออกจากเบราว์เซอร์