บทเรียน JSON: เรียนรู้ด้วยตัวอย่างง่ายๆ

⚡ สรุปอย่างชาญฉลาด

JSON ย่อมาจาก JavaScript Object Notation (XML) เป็นรูปแบบข้อมูลที่มีน้ำหนักเบา อ่านง่าย สำหรับจัดเก็บและแลกเปลี่ยนข้อมูลที่มีโครงสร้างระหว่างเซิร์ฟเวอร์และแอปพลิเคชัน เอกสารนี้จะอธิบายไวยากรณ์ ประเภทข้อมูล แอปพลิเคชันในโลกแห่งความเป็นจริง และความแตกต่างที่แยก Script Object Notation ออกจาก XML

  • 🔑 คำจำกัดความหลัก: JSON จัดเก็บข้อมูลในรูปแบบคู่ชื่อ/ค่า และอาร์เรย์ที่มีลำดับ โดยใช้เครื่องหมายวงเล็บปีกกาสำหรับอ็อบเจ็กต์ และเครื่องหมายวงเล็บเหลี่ยมสำหรับอาร์เรย์
  • 🧩 ประเภทข้อมูลที่รองรับ: เรียนรู้ประเภทข้อมูล JSON ทั้งหกประเภท ได้แก่ สตริง ตัวเลข บูลีน ค่าว่าง อ็อบเจ็กต์ และอาร์เรย์ เพื่อสร้างแบบจำลองโครงสร้างเกือบทุกรูปแบบ
  • เหตุผลที่ทีมต่างๆ นำไปใช้: JSON แยกวิเคราะห์โดยตรงใน Javaสคริปต์นี้ใช้งานได้กับทุกเบราว์เซอร์ และสามารถทำงานร่วมกับเทคโนโลยีแบ็กเอนด์และ REST API ส่วนใหญ่ได้
  • 🔄 JSON เทียบกับ XML: เมื่อเปรียบเทียบกับ XML แล้ว JSON มีการกำหนดประเภทข้อมูล อ่านง่ายกว่า และประมวลผลได้เร็วกว่า แม้ว่าจะขาดความสามารถในการแสดงผลมาร์กอัปก็ตาม
  • 🛠️ เครื่องมือใช้งานจริง: ตรวจสอบความถูกต้อง จัดรูปแบบ และย่อขนาดโค้ดด้วยยูทิลิตี้ต่างๆ เช่น JSONLint, JSON Editor Online และ JSON Formatter ก่อนนำไปใช้งานจริง

JSON กวดวิชา

JSON คืออะไร?

JSON เป็นรูปแบบไฟล์ที่ใช้เก็บข้อมูลอย่างเป็นระเบียบและเข้าถึงได้ง่าย ฟอร์มเต็มของมันคือ Javaสัญกรณ์วัตถุสคริปต์ เป็นชุดข้อมูลที่มนุษย์สามารถอ่านได้และสามารถเข้าถึงได้ตามตรรกะ ส่วนขยายชื่อไฟล์สำหรับโค้ดโปรแกรมที่เขียนขึ้นคือ .json- ประเภทสื่ออินเทอร์เน็ตสำหรับ JSON คือ application/json และ Uniform Type Identifier คือ public.json

เมื่อเข้าใจความหมายแล้ว ส่วนถัดไปจะอธิบายว่าทำไมนักพัฒนาจึงเลือกใช้ JSON แทนรูปแบบข้อมูลอื่นๆ

ทำไมต้องใช้ JSON?

นี่คือประโยชน์/ข้อดีที่สำคัญของการใช้ JSON:

  • ให้การสนับสนุนเบราว์เซอร์ทั้งหมด
  • อ่านและเขียนได้ง่าย
  • ไวยากรณ์ที่ตรงไปตรงมา
  • คุณสามารถแยกวิเคราะห์ได้ Javaสคริปต์ที่ใช้ฟังก์ชั่น eval()
  • ง่ายต่อการสร้างและจัดการ
  • สนับสนุนโดยสาขาวิชาเอกทั้งหมด Javaกรอบงานสคริปต์
  • สนับสนุนโดยเทคโนโลยีแบ็กเอนด์ส่วนใหญ่
  • JSON ได้รับการยอมรับโดยกำเนิดโดย Javaต้นฉบับ
  • จะช่วยให้คุณ transmit และแปลงข้อมูลที่มีโครงสร้างให้เป็นรูปแบบที่สามารถจัดเก็บได้โดยใช้การเชื่อมต่อเครือข่าย
  • คุณสามารถใช้กับภาษาโปรแกรมสมัยใหม่ได้
  • JSON คือข้อความที่สามารถแปลงเป็นวัตถุใดก็ได้ Javaสคริปต์เป็น JSON และส่ง JSON นี้ไปยังเซิร์ฟเวอร์

ประวัติความเป็นมาของ JSON

ประวัติความเป็นมาของ JSON
JSON กวดวิชา

��่อไปนี้เป็นจุดสังเกตสำคัญที่สร้างประวัติศาสตร์ของ JSON:

  • Douglas Crockford ระบุรูปแบบ JSON ในช่วงต้นปี 2000
  • เว็บไซต์อย่างเป็นทางการเปิดตัวในปี 2002
  • ในเดือนธันวาคม พ.ศ. 2005 Yahoo! เริ่มให้บริการเว็บบางส่วนใน JSON
  • JSON กลายเป็นมาตรฐานสากล ECMA ในปี 2013
  • มาตรฐานรูปแบบ JSON ที่อัปเดตล่าสุดเผยแพร่ในปี 2017

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

คุณสมบัติของ JSON

ใช้งานง่าย – JSON API นำเสนอส่วนหน้าระดับสูง ซึ่งช่วยให้คุณลดความซับซ้อนของกรณีการใช้งานที่ใช้กันทั่วไป

ประสิทธิภาพ – JSON ค่อนข้างเร็วเนื่องจากใช้พื้นที่หน่วยความจำน้อยมาก ซึ่งเหมาะอย่างยิ่งสำหรับกราฟหรือระบบวัตถุขนาดใหญ่

เครื่องมือฟรี – ไลบรารี JSON เป็นโอเพ่นซอร์สและใช้งานได้ฟรี

ไม่จำเป็นต้องสร้างแผนที่ping – Jackson API มีแผนที่เริ่มต้นให้ใช้งานping สำหรับวัตถุจำนวนมากที่จะถูกแปลงเป็นรูปแบบอนุกรม

ทำความสะอาด 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}

เชือก

เป็นชุดอักขระยูนิโค้ดที่อยู่ในเครื่องหมายอัญประกาศคู่และมีเครื่องหมายแบ็กสแลชคั่นอยู่ping.

ตารางต่อไปนี้แสดงประเภทสตริงต่างๆ:

ประเภท Descriptไอออน
* ใช้สำหรับเครื่องหมายอัญประกาศคู่ typing
/ ใช้สำหรับโซลิดัส
\ ใช้สำหรับรีเวิร์สโซลิดัส
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 ช่วยในการ transmit และแปลงข้อมูลที่มีโครงสร้างทุกประเภทให้เป็นรูปแบบที่จัดเก็บได้
  • ช่วยให้คุณสามารถเรียกใช้ข้อมูลแบบอะซิงโครนัสได้โดยไม่ต้องรีเฟรชหน้า
  • ช่วยให้คุณ transmit การรับส่งข้อมูลระหว่างเซิร์ฟเวอร์และเว็บแอปพลิเคชัน
  • มีการใช้กันอย่างแพร่หลายสำหรับ Javaแอปพลิเคชันที่ใช้สคริปต์ ซึ่งรวมถึงส่วนขยายเบราว์เซอร์และเว็บไซต์
  • คุณสามารถ transmit การรับส่งข้อมูลระหว่างเซิร์ฟเวอร์และเว็บแอปพลิเคชันโดยใช้ JSON
  • เราสามารถใช้ JSON กับภาษาการเขียนโปรแกรมสมัยใหม่ได้
  • ใช้สำหรับการเขียน Javaแอพพลิเคชันที่ใช้สคริปต์ซึ่งรวมส่วนเสริมของเบราว์เซอร์
  • บริการบนเว็บและ Restful API ใช้รูปแบบ JSON เพื่อรับข้อมูลสาธารณะ

เนื่องจาก JSON ถูกนำไปใช้อย่างแพร่หลาย จึงมักถูกนำไปเปรียบเทียบกับ XML ซึ่งเป็นรูปแบบไฟล์ที่ 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 ใหม่ JSONLint เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่มีน้ำหนักเบา สามารถคัดลอกและวาง พิมพ์โดยตรง หรือป้อนข้อมูลได้ 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 เป็นรูปแบบการแลกเปลี่ยนข้อมูล ไม่ใช่ภาษาโปรแกรม มันเพียงแค่จัดเก็บและส่งต่อข้อมูลที่มีโครงสร้างโดยใช้ไวยากรณ์แบบข้อความ ภาษาโปรแกรมเช่น... Javaสคริปต์ Pythonและ Java อ่านและเขียน JSON

JSON เป็นข้อความธรรมดาและปลอดภัย ความเสี่ยงจะเกิดขึ้นเมื่อทำการวิเคราะห์ข้อมูลที่ไม่น่าเชื่อถือ โดยเฉพาะอย่างยิ่งกับเมธอด eval() แบบเก่า ควรใช้ตัวแยกวิเคราะห์ JSON มาตรฐาน เช่น JSON.parse() และตรวจสอบความถูกต้องของข้อมูลเพื่อหลีกเลี่ยงปัญหาการโจมตีแบบ Injection

JSON คือรูปแบบข้อความที่ใช้ในการจัดเก็บและ transmit ข้อมูล JSON คือโครงสร้างหนึ่งภายในรูปแบบนั้น ซึ่งเขียนอยู่ภายในวงเล็บปีกกาในรูปแบบคู่ชื่อ/ค่า ไฟล์ JSON ที่สมบูรณ์อาจประกอบด้วยอ็อบเจ็กต์และอาร์เรย์จำนวนมาก

ระบบ AI ใช้ JSON ในการส่งคำสั่ง รับคำตอบ และแลกเปลี่ยนพารามิเตอร์ของโมเดล API ของโมเดลภาษาขนาดใหญ่ส่วนใหญ่ยอมรับและส่งคืน JSON ทำให้ JSON กลายเป็นรูปแบบมาตรฐานสำหรับการร้องขอ การส่งออกข้อมูลที่มีโครงสร้าง และการกำหนดค่าข้อมูลการฝึกอบรม

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

สรุปโพสต์นี้ด้วย: