บทช่วยสอน JSON: เรียนรู้ด้วยตัวอย่างรูปแบบไฟล์อย่างง่าย
JSON คืออะไร?
JSON เป็นรูปแบบไฟล์ที่ใช้เก็บข้อมูลอย่างเป็นระเบียบและเข้าถึงได้ง่าย ฟอร์มเต็มของมันคือ Javaสัญกรณ์วัตถุสคริปต์ เป็นชุดข้อมูลที่มนุษย์สามารถอ่านได้และสามารถเข้าถึงได้ตามตรรกะ ส่วนขยายชื่อไฟล์สำหรับโค้ดโปรแกรมที่เขียนขึ้นคือ .json
- ประเภทสื่ออินเทอร์เน็ตสำหรับ JSON คือ application/json และ Uniform Type Identifier คือ public.json
ทำไมต้องใช้ JSON?
นี่คือประโยชน์/ข้อดีที่สำคัญของการใช้ JSON:
- ให้การสนับสนุนเบราว์เซอร์ทั้งหมด
- อ่านและเขียนได้ง่าย
- ไวยากรณ์ที่ตรงไปตรงมา
- คุณสามารถแยกวิเคราะห์ได้ Javaสคริปต์ที่ใช้ฟังก์ชั่น eval()
- ง่ายต่อการสร้างและจัดการ
- สนับสนุนโดยสาขาวิชาเอกทั้งหมด Javaกรอบงานสคริปต์
- สนับสนุนโดยเทคโนโลยีแบ็กเอนด์ส่วนใหญ่
- JSON ได้รับการยอมรับโดยกำเนิดโดย Javaต้นฉบับ
- ช่วยให้คุณสามารถส่งและทำให้ข้อมูลที่มีโครงสร้างเป็นอนุกรมโดยใช้การเชื่อมต่อเครือข่าย
- คุณสามารถใช้กับภาษาโปรแกรมสมัยใหม่ได้
- JSON คือข้อความที่สามารถแปลงเป็นวัตถุใดก็ได้ Javaสคริปต์เป็น JSON และส่ง JSON นี้ไปยังเซิร์ฟเวอร์
ประวัติความเป็นมาของ JSON
ต่อไปนี้เป็นจุดสังเกตสำคัญที่สร้างประวัติศาสตร์ของ JSON:
- Douglas Crockford ระบุรูปแบบ JSON ในช่วงต้นปี 2000
- เว็บไซต์อย่างเป็นทางการเปิดตัวในปี 2002
- ในเดือนธันวาคม พ.ศ. 2005 Yahoo! เริ่มให้บริการเว็บบางส่วนใน JSON
- JSON กลายเป็นมาตรฐานสากล ECMA ในปี 2013
- มาตรฐานรูปแบบ JSON ที่อัปเดตล่าสุดเผยแพร่ในปี 2017
คุณสมบัติของ JSON
ใช้งานง่าย – JSON API นำเสนอส่วนหน้าระดับสูง ซึ่งช่วยให้คุณลดความซับซ้อนของกรณีการใช้งานที่ใช้กันทั่วไป
ประสิทธิภาพ – JSON ค่อนข้างเร็วเนื่องจากใช้พื้นที่หน่วยความจำน้อยมาก ซึ่งเหมาะอย่างยิ่งสำหรับกราฟหรือระบบวัตถุขนาดใหญ่
เครื่องมือฟรี – ไลบรารี JSON เป็นโอเพ่นซอร์สและใช้งานได้ฟรี
ไม่จำเป็นต้องสร้างการแมป – Jackson API ให้การแมปเริ่มต้นสำหรับออบเจ็กต์จำนวนมากที่จะทำให้เป็นอนุกรม
ทำความสะอาด JSON – สร้างผลลัพธ์ JSON ที่สะอาดและเข้ากันได้ซึ่งอ่านง่าย
การอยู่ที่ – ไลบรารี JSON ไม่ต้องการไลบรารีอื่นใดในการประมวลผล
กฎสำหรับไวยากรณ์ JSON
กฎสำหรับไวยากรณ์ JSON คือ:
- ข้อมูลควรอยู่ในคู่ชื่อ/ค่า
- ข้อมูลควรคั่นด้วยเครื่องหมายจุลภาค
- วงเล็บปีกกาควรยึดวัตถุ
- วงเล็บเหลี่ยมยึดอาร์เรย์
ประเภทข้อมูลใน JSON
ประเภทข้อมูลสำคัญที่ใช้ใน JSON คือ:
ประเภทข้อมูล | Descriptไอออน |
---|---|
จำนวน | ประกอบด้วยจำนวนจริง จำนวนเต็ม หรือจำนวนลอยตัว |
เชือก | ประกอบด้วยข้อความหรือ Unicode ใดๆ ที่มีเครื่องหมายคำพูดคู่พร้อมเครื่องหมายแบ็กสแลช |
บูลีน | ชนิดข้อมูลบูลีนแสดงถึงค่า True หรือ False |
โมฆะ | ค่า Null แสดงว่าตัวแปรที่เกี่ยวข้องไม่มีค่าใดๆ |
วัตถุ | เป็นคอลเลกชันของคู่คีย์-ค่า และคั่นด้วยเครื่องหมายจุลภาคและอยู่ในวงเล็บปีกกาเสมอ |
แถว | เป็นลำดับของค่าที่แยกออกจากกัน |
จำนวน
- ตัวเลขดังกล่าวเป็นรูปแบบจุดลอยตัวแบบความแม่นยำสองเท่า ซึ่งขึ้นอยู่กับวิธีการใช้งาน
- ใน JSON คุณไม่สามารถใช้รูปแบบเลขฐานสิบหกและฐานแปดได้
ตารางต่อไปนี้แสดงประเภทตัวเลข:
ประเภท | Descriptไอออน |
---|---|
จำนวนเต็ม | เลข 1-9 และ 0 ทั้งเลขบวกและเลขลบ |
เศษ | เศษส่วนเช่น 3 |
ตัวแทน | เลขยกกำลังเช่น e, e+ |
ไวยากรณ์:
var json-object-name = { string : number_value,......}
ตัวอย่าง:
var obj = {salary: 2600}
เชือก
เป็นชุดอักขระ Unicode ที่อยู่ในเครื่องหมายคำพูดคู่และมีเครื่องหมายแบ็กสแลชหลบหนี
ตารางต่อไปนี้แสดงประเภทสตริงต่างๆ:
ประเภท | Descriptไอออน |
---|---|
* | ใช้สำหรับพิมพ์เครื่องหมายคำพูดคู่ |
/ | ใช้สำหรับโซลิดัส |
\ | ใช้สำหรับรีเวิร์สโซลิดัส |
B | ใช้เพื่อเพิ่ม Backspace |
F | จากฟีด |
N | เพื่อสร้างบรรทัดใหม่ |
R | ใช้สำหรับคืนรถ |
T | เพื่อแสดงแท็บแนวนอน |
U | เลขฐานสิบหก |
ไวยากรณ์:
var json-object-name = { string : "string value",…..}
ตัวอย่าง:
var obj= {name: 'Andy'}
บูลีน
มันเก็บเฉพาะค่าจริงหรือเท็จเท่านั้น
ไวยากรณ์:
var json-object-name = {string : true/false, …..}
ตัวอย่าง:
var obj = {active: 'true'}
แถว
- เป็นการรวบรวมคุณค่าตามลำดับ
- คุณควรใช้อาร์เรย์เมื่อชื่อคีย์เป็นจำนวนเต็มตามลำดับ
- ควรใส่ไว้ในวงเล็บเหลี่ยม โดยคั่นด้วยเครื่องหมายจุลภาค (,)
ไวยากรณ์:
[value, .......]
ตัวอย่าง:
การแสดงอาร์เรย์ที่จัดเก็บวัตถุหลายรายการ:
{ "eBooks":[ { "language":"Pascal", "edition":"third" }, { "language":"Python", "edition":"four" }, { "language":"SQL", "edition":"second" } ] }
วัตถุ JSON
A วัตถุ JSON เป็นเอนทิตีใน JSON ซึ่งอยู่ในวงเล็บปีกกา เขียนเป็นคู่ชื่อและค่าแบบไม่เรียงลำดับ โดยชื่อควรตามด้วยเครื่องหมาย ":" (โคลอน) และคู่ชื่อ/ค่าต้องแยกกันโดยใช้ "," (จุลภาค) สามารถใช้ได้เมื่อชื่อคีย์เป็นสตริงที่กำหนดเอง
ไวยากรณ์:
{ string : value, ….. }
ตัวอย่าง:
{ "id": 110, "language": "Python", "price": 1900, }
ช่องว่าง
คุณสามารถแทรกช่องว่างระหว่างโทเค็นคู่หนึ่งได้
ตัวอย่าง:
ไวยากรณ์:
{string:" ",….}
ตัวอย่าง:
var a = " Alex"; var b = "Steve";
ตัวอย่างของ JSON
ตัวอย่างโค้ดที่กำหนดกำหนดวิธีใช้ JSON เพื่อจัดเก็บข้อมูลที่เกี่ยวข้อง หนังสือการเขียนโปรแกรม พร้อมด้วยฉบับและชื่อผู้แต่ง
{ "book":[ { "id":"444", "language":"C", "edition":"First", "author":"Dennis Ritchie " }, { "id":"555", "language":"C++", "edition":"second", "author":" Bjarne Stroustrup " } ] }
มาทำความเข้าใจรูปแบบ JSON ด้วยตัวอย่างไฟล์ JSON อื่น ในที่นี้ JSON จะกำหนดชื่อ นามสกุล และรหัสของนักเรียน
{ "student": [ { "id":"01", "name": "Tom", "lastname": "Price" }, { "id":"02", "name": "Nick", "lastname": "Thameson" } ] }
การประยุกต์ใช้ JSON
ต่อไปนี้เป็นแอปพลิเคชันทั่วไปของ JSON:
- ช่วยให้คุณถ่ายโอนข้อมูลจากเซิร์ฟเวอร์
- รูปแบบไฟล์ JSON ตัวอย่างช่วยในการส่งและทำให้ข้อมูลที่มีโครงสร้างทุกประเภทเป็นอนุกรม
- ช่วยให้คุณสามารถเรียกใช้ข้อมูลแบบอะซิงโครนัสได้โดยไม่ต้องรีเฟรชหน้า
- ช่วยให้คุณส่งข้อมูลระหว่างเซิร์ฟเวอร์และเว็บแอปพลิเคชัน
- มีการใช้กันอย่างแพร่หลายสำหรับ Javaแอปพลิเคชันที่ใช้สคริปต์ ซึ่งรวมถึงส่วนขยายเบราว์เซอร์และเว็บไซต์
- คุณสามารถส่งข้อมูลระหว่างเซิร์ฟเวอร์และเว็บแอปพลิเคชันโดยใช้ JSON
- เราสามารถใช้ JSON กับภาษาการเขียนโปรแกรมสมัยใหม่ได้
- ใช้สำหรับการเขียน Javaแอพพลิเคชันที่ใช้สคริปต์ซึ่งรวมส่วนเสริมของเบราว์เซอร์
- บริการบนเว็บและ Restful API ใช้รูปแบบ JSON เพื่อรับข้อมูลสาธารณะ
JSON กับ XML
นี่คือข้อแตกต่างที่สำคัญระหว่าง JSON กับ XML
JSON | XML |
---|---|
วัตถุ JSON มีประเภท | XML ข้อมูลไม่มีการพิมพ์ |
ประเภท JSON: สตริง ตัวเลข อาร์เรย์ บูลีน | ข้อมูล XML ทั้งหมดควรเป็นสตริง |
ข้อมูลสามารถเข้าถึงได้ง่ายในรูปแบบออบเจ็กต์ JSON | ข้อมูล XML จะต้องมีการแยกวิเคราะห์ |
ไฟล์ JSON สามารถอ่านได้ง่ายขึ้น | ไฟล์ XML ไม่สามารถอ่านได้โดยมนุษย์ |
JSON ได้รับการสนับสนุนโดยเบราว์เซอร์ส่วนใหญ่ | การแยกวิเคราะห์ XML ข้ามเบราว์เซอร์อาจเป็นเรื่องยุ่งยาก |
JSON ไม่มีความสามารถในการแสดงผล | XML มีความสามารถในการแสดงข้อมูลเนื่องจากเป็นภาษามาร์กอัป |
การเรียกคืนมูลค่าเป็นเรื่องง่าย | การเรียกค่ากลับมาทำได้ยาก |
สนับสนุนโดยชุดเครื่องมือ Ajax มากมาย | ชุดเครื่องมือ Ajax ไม่รองรับอย่างสมบูรณ์ |
วิธีการดีซีเรียลไลซ์/ซีเรียลไลซ์แบบอัตโนมัติเต็มรูปแบบ Javaต้นฉบับ | นักพัฒนาจะต้องเขียน Javaโค้ดสคริปต์สำหรับการซีเรียลไลซ์/ดีซีเรียลไลซ์จาก XML |
การสนับสนุนดั้งเดิมสำหรับวัตถุ | วัตถุจะต้องแสดงออกตามแบบแผน โดยส่วนใหญ่จะพลาดการใช้คุณลักษณะและองค์ประกอบต่างๆ |
ตัวอย่าง JSON
ด้านล่างนี้เป็นตัวอย่าง JSON ง่ายๆ:
{ "student": [ { "id":"01", "name": "Tom", "lastname": "Price" }, { "id":"02", "name": "Nick", "lastname": "Thameson" } ] }
ตัวอย่าง XML
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
JSON ไม่ใช่อะไร
- ไฟล์ข้อมูล JSON ตัวอย่างไม่ใช่รูปแบบเอกสาร
- มันไม่ใช่ภาษามาร์กอัป
- JSON ไม่มีรูปแบบการทำให้เป็นอนุกรมทั่วไป
- ไม่ใช่โครงสร้างที่เกิดซ้ำหรือเป็นวัฏจักร
- มันยังไม่ใช่โครงสร้างที่มองไม่เห็นด้วย
ข้อเสียของ JSON
นี่คือข้อดีบางประการของ JSON:
- ไม่มีการรองรับเนมสเปซ จึงมีความสามารถในการขยายต่ำ
- ถูก จำกัด เครื่องมือในการพัฒนา สนับสนุน
- ไม่รองรับคำจำกัดความไวยากรณ์ที่เป็นทางการ
เครื่องมือ JSON ยอดนิยม (ส่วนเสริม)
นี่คือเครื่องมือ JSON ที่สำคัญ:
JSONLint:
JSONLint เป็นโปรเจ็กต์โอเพ่นซอร์สที่ใช้เป็นตัวตรวจสอบและฟอร์แมตสำหรับ JSON เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่มีน้ำหนักเบา คัดลอกและวาง พิมพ์โดยตรง หรือป้อน URL ในเครื่องมือตรวจสอบ JSON เพื่อตรวจสอบรหัส JSON ของคุณ
Link: https://jsonlint.com
ตัวแก้ไข JSON ออนไลน์:
JSON Editor Online เป็นเครื่องมือบนเว็บที่มีประโยชน์ ช่วยให้คุณสามารถแก้ไข ดู และจัดรูปแบบ JSON โดยจะแสดงข้อมูลของคุณเคียงข้างกันอย่างชัดเจนและแก้ไขได้ ซอฟต์แวร์แก้ไขโค้ด.
Link: https://jsoneditoronline.org/
เครื่องมือลดขนาด JSON:
เป็นเครื่องมือที่ช่วยให้คุณลบช่องว่างและให้โค้ด JSON ที่ใช้พื้นที่น้อยที่สุด
Link: https://www.browserling.com/tools/json-minify
ตัวแปลง JSON เป็น XML:
ตัวแปลง JSON เป็น XML เป็นเครื่องมือที่ง่ายและมีประสิทธิภาพซึ่งช่วยให้คุณแปลงโค้ด JSON ของคุณได้
Link: https://codebeautify.org/jsontoxml
ตัวจัดรูปแบบ JSON:
ตัวจัดรูปแบบ JSON ช่วยคุณแก้ปัญหาโดยการจัดรูปแบบข้อมูล JSON เพื่อให้มนุษย์อ่านและแก้ไขจุดบกพร่องได้ง่าย
Link:https://jsonformatter.curiousconcept.com/
สรุป
- วิธี JSON ใช้เพื่อจัดเก็บข้อมูลในลักษณะที่เป็นระเบียบและเข้าถึงได้ง่าย
- JSON ย่อมาจาก Javaสัญกรณ์วัตถุสคริปต์
- JSON ให้การสนับสนุนเบราว์เซอร์ทั้งหมดที่มีในหลายภาษา
- Douglas Crockford ระบุรูปแบบ JSON ในช่วงต้นปี 2000
- JSON API มีส่วนหน้าระดับสูง ซึ่งช่วยให้คุณลดความซับซ้อนของกรณีการใช้งานทั่วไป
- กฎสำคัญสำหรับการเขียนระบบ JSON คือข้อมูลควรเขียนเป็นคู่ชื่อ/ค่า
- Number, String, Boolean, Null, Object และ Array เป็นประเภทข้อมูลที่สำคัญที่ใช้ใน JSON
- ช่วยให้คุณถ่ายโอนข้อมูลจากเซิร์ฟเวอร์
- วัตถุ JSON มีประเภทในขณะที่ข้อมูล XML ไม่มีประเภท
- JSON ไม่ใช่รูปแบบเอกสาร
- ไม่มีการรองรับเนมสเปซ จึงมีความสามารถในการขยายต่ำ
- JSONLint เป็นโปรเจ็กต์โอเพ่นซอร์สที่ใช้เป็นตัวตรวจสอบและฟอร์แมตสำหรับ JSON