1 ส.ค. เวลา 06:48 • การศึกษา

JSON คืออะไร ทำไมถึงครองใจนักพัฒนา

โดย
ในยุคที่แอปพลิเคชัน และ ระบบต่างๆ จำเป็นต้องสื่อสารกัน JSON (JavaScript Object Notation) ได้กลายเป็นมาตรฐานสำคัญสำหรับการแลกเปลี่ยนข้อมูล ด้วยรูปแบบที่มนุษย์อ่านได้ และ เครื่องจักรประมวลผลง่าย ทำให้ JSON ถูกใช้อย่างแพร่หลายใน API, คอนฟิกไฟล์ และ การจัดเก็บข้อมูล
  • ​JSON คืออะไร
JSON คือรูปแบบการจัดเก็บ และ แลกเปลี่ยนข้อมูลแบบข้อความ ที่มีลักษณะสำคัญดังนี้
○ อ่าน และ เขียนเข้าใจง่ายทั้งมนุษย์ และ เครื่องคอมพิวเตอร์
○ โครงสร้างแบบ Key-Value คล้ายวัตถุใน JavaScript
○ รองรับทุกภาษาโปรแกรมมิ่งตั้งแต่ Python, Java ถึง PHP
○ น้ำหนักเบาเมื่อเทียบกับ XML
  • ​ตัวอย่าง JSON
```json
{
"name": "John Doe",
"age": 30,
"isMarried": false,
"hobbies": ["reading", "gaming"],
"address": {
"street": "123 Main St",
"city": "Bangkok"
}
}
```
  • ​โครงสร้างพื้นฐานของ JSON
1) Data Types
○ String : "text"
○ Number : 123, 12.34
○ Boolean : true, false
○ Array : [value1, value2]
○ Object : {"key": "value"}
○ null : null
2) กฎการเขียน
- ใช้ Double Quotes (`"`) เท่านั้น
- Key ต้องเป็น String
- คั่นแต่ละคู่ด้วย Comma (,)
- ไม่มี Comments ในไฟล์ JSON
  • ​เหตุผลที่ JSON ได้รับความนิยม
1);น้ำหนักเบากว่า XML ประมาณ 30-40%
2) ประมวลผลเร็ว ด้วยฟังก์ชัน `JSON.parse()` และ `JSON.stringify()`
3) รองรับโดยทุกภาษา และ มีไลบรารีมาตรฐาน
4) เหมาะกับ REST API ที่ต้องการ Response ที่กระชับ
  • ​การใช้งาน JSON ในภาษาต่างๆ
☆ JavaScript
```javascript
// แปลง JSON เป็น Object
const obj = JSON.parse('{"name":"John"}');
// แปลง Object เป็น JSON
const json = JSON.stringify({name: "John"});
```
☆ Python
```python
import json
# อ่าน JSON
data = json.loads('{"name": "John"}')
# เขียน JSON
json.dumps({"name": "John"})
```
☆ PHP
```php
// แปลง JSON เป็น Array
$array = json_decode('{"name":"John"}', true);
2
// แปลง Array เป็น JSON
$json = json_encode(["name" => "John"]);
```
  • ​ตัวอย่างการใช้งาน
1) API Responses
```json
{
"status": "success",
"data": {
"users": [
{"id": 1, "name": "John"},
{"id": 2, "name": "Jane"}
]
}
}
```
2) คอนฟิกไฟล์ (package.json):
```json
{
"name": "my-app",
"version": "1.0.0",
"scripts": {
"start": "node app.js"
}
}
```
1
3) NoSQL Databases (MongoDB):
```json
{
"_id": "5f8d...",
"title": "JSON Guide",
"tags": ["web", "tutorial"]
}
```
  • ​ข้อดีของ JSON
1) อ่าน และ เขียนง่าย
- โครงสร้างแบบ Key-Value ที่เข้าใจได้ทันที
- ใกล้เคียงกับรูปแบบ Object ในหลายภาษาโปรแกรมมิ่ง
2) กระชับกว่าฟอร์แมตอื่น
- ใช้ขนาดไฟล์เล็กกว่า XML ประมาณ 30-40%
- ไม่มี Tag ที่ซับซ้อนเหมือน XML
3) รองรับทุกภาษาโปรแกรม
- มีไลบรารีมาตรฐานในทุกภาษา (JavaScript, Python, Java, PHP ฯลฯ)
- เป็นรูปแบบ Default ของ API สมัยใหม่
4) ประมวลผลเร็ว
- แปลงเป็น Object/Array ได้ทันทีด้วยฟังก์ชัน `JSON.parse()`
- สนับสนุน Native ในเบราว์เซอร์และ Node.js
1
  • ​ข้อเสียของ JSON
1) ไม่รองรับ Comments
- ไม่สามารถเพิ่มคำอธิบายในไฟล์ JSON ได้
- ต้องใช้ไฟล์เอกสารแยก (เช่น README)
2) ไม่มี Schema มาตรฐาน
- ตรวจสอบความถูกต้องของโครงสร้างได้ยาก
- ต้องใช้เครื่องมือเสริมเช่น JSON Schema
3) เก็บ Binary Data ไม่ดี
- ต้องแปลงเป็น Base64 ซึ่งเพิ่มขนาดไฟล์
- ไม่เหมาะกับข้อมูลประเภทภาพ/วิดีโอ
4) Error Handling ยาก
- เมื่อ JSON ไม่สมบูรณ์ มักแสดง Error ที่เข้าใจยาก
- ต้องใช้ Try-Catch หรือ Validator ช่วยตรวจสอบ
  • ​เครื่องมือสำหรับใช้งาน JSON
1) Validator : jsonlint.com
2) Formatter : jsonformatter.org
3) Visualizer : jsoncrack.com
4) แปลง JSON <> XML : codebeautify.org
✏️ Shoper Gamer
Credit :
👇
  • ​https://www.w3schools.com/whatis/whatis_json.asp
  • ​https://www.w3schools.com/js/js_json_intro.asp
  • ​https://www.borntodev.com/2020/02/28/what-is-json/
  • ​https://www.mongodb.com/resources/languages/what-is-json
  • ​https://www.theserverside.com/definition/JSON-Javascript-Object-Notation
โฆษณา