ในวิดีโอนี้เราจะดูการสาธิตของ JSON ข้อมูล โปรดอย่าลืมว่า JSON ย่อมาจาก JavaScript Object สัญลักษณ์และ มันเป็นมาตรฐานสำหรับการเขียน ข้อมูลวัตถุลงในรูปแบบที่อ่านของมนุษย์มักจะอยู่ในไฟล์ มันมีประโยชน์สำหรับการแลกเปลี่ยนข้อมูล ระหว่างโปรแกรมและโดยทั่วไป เพราะมันมีความยืดหยุ่นค่อนข้างจะมีประโยชน์ สำหรับการเป็นตัวแทนและสำหรับการจัดเก็บข้อมูลที่กึ่งโครงสร้าง เตือนของ โครงสร้างพื้นฐานในการ JSON เรา มีค่าอะตอมเช่น เป็นจำนวนเต็มและสตริงและอื่น ๆ แล้วเรามีสองประเภท สิ่งต่างคอมโพสิต; เรามี วัตถุที่เป็นชุดของ คู่ฉลากคุณค่าและแล้วเรามีอาร์เรย์ที่มีรายการค่า ในการสาธิตเราจะผ่านไป ในรายละเอียดมากขึ้นโครงสร้างพื้นฐาน ของ JSON และเราจะดูที่ บางส่วนถูกต้องชั้นเชิงเราจะแสดงให้เห็นถึง ความยืดหยุ่นของข้อมูล แบบจำลองและจากนั้นเราจะ ดูสั้นที่สคี JSON ของ ไม่ได้ใช้กันอย่างแพร่หลาย แต่ยัง ยังคงค่อนข้างน่าสนใจไปดูที่ และเราจะดูที่การตรวจสอบบาง ข้อมูล JSON กับคีมาโดยเฉพาะอย่างยิ่ง ดังนั้นนี่เป็น JSON ข้อมูลที่เรากำลังจะได้ร่วมงานกับในระหว่างการสาธิตนี้ มันเป็นข้อมูลเดียวกับที่ปรากฏ ในภาพนิ่งในเบื้องต้น เพื่อ JSON แต่ตอนนี้เรากำลังจะ จะดูเป็นส่วนประกอบของข้อมูล นอกจากนี้ยังเป็นโดยวิธีการ Thea ตัวอย่างเดียวกันสวยมากที่เรา ใช้สำหรับ XML ก็จัดรูปแบบใหม่ ของหลักสูตรเพื่อตอบสนองความ JSON รูปแบบข้อมูล แต่คุณสามารถเปรียบเทียบทั้งสองโดยตรง สุดท้ายเราจะมี ไฟล์สำหรับข้อมูลใน เว็บไซต์และที่ฉันทำ ขอแนะนำให้คุณดาวน์โหลด ไฟล์เพื่อให้คุณสามารถ ใช้เวลาดูมันอย่างใกล้ชิดในคอมพิวเตอร์ของคุณเอง ขวาทั้งหมด ดังนั้นเรามาดูสิ่งที่เรามี ตอนนี้เราอยู่ใน บรรณาธิการ JSON ข้อมูล มันเกิดขึ้นเป็นคราส บรรณาธิการและเรากำลังจะไป ให้ทำการแก้ไขบางอย่างเพื่อ ยื่นหลังจากที่เรามองผ่าน โครงสร้างของแฟ้ม ดังนั้นนี้เป็น JSON ข้อมูลที่เป็นตัวแทนของหนังสือและ นิตยสารและเรามี ข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับหนังสือและนิตยสารของเรา ดังนั้นที่นอกสุดที่ วงเล็บปีกกาบ่งบอกว่านี่เป็นวัตถุ JSON และเป็นตัวเตือนวัตถุ เป็นชุดของฉลากที่มีมูลค่า คู่คั่นด้วยเครื่องหมายจุลภาค ดังนั้นค่าแรกของเราคือป้าย "หนังสือ" และ วัตถุเป็นหนังสือฉลาก และคุ้มค่ายิ่งใหญ่และ สองจึงมีเพียงสองป้ายที่มีมูลค่า คู่ที่นี่เป็น นิตยสารป้ายขนาดใหญ่และความคุ้มค่าที่นี่ และลองมาดูเป็นครั้งแรกที่นิตยสาร ดังนั้นนิตยสารอีกครั้งเป็น ฉลากและค่าของเรา สามารถมองเห็นได้ด้วยตาราง วงเล็บที่นี่เป็นอาร์เรย์ อาร์เรย์เป็นรายการของ ค่านิยมและที่นี่เรา มีสองค่าในอาร์เรย์ของเรา พวกเขายังคงค่าคอมโพสิต ดังนั้นเรามีสองค่าแต่ละ ซึ่งเป็นวัตถุ ชุดของคู่ป้ายที่มีมูลค่า ผมขอพูดถึงบางครั้งมีคนโทรหาป้ายชื่อเหล่านี้ 'คุณสมบัติ' โดยวิธีการ ถูก ดังนั้นตอนนี้เราอยู่ใน 2 วัตถุของเราที่มี 2 องค์ประกอบในอาร์เรย์ที่มูลค่าของนิตยสาร และแต่ละคนของผู้ที่มี 3 ป้ายและ 3 ค่า และตอนนี้เรากำลังลงไปในที่สุดค่าฐาน ดังนั้นเรามีชื่อเป็น "แห่งชาติ ทางภูมิศาสตร์ "สตริงที่ เดือนเป็นเดือนมกราคมสตริง และปี 2009 ที่ 2009 เป็นจำนวนเต็ม และอีกครั้งที่เรามี วัตถุอื่นที่นี่ที่เป็นนิตยสารที่แตกต่างกัน มีชื่อที่แตกต่างกันและเดือนที่จะเกิดขึ้นในปีเดียวกัน ตอนนี้ทั้งสองได้ว่า โครงสร้างเดียวกัน แต่พวกเขาไม่ได้ ต้องและเราจะ เห็นว่าในขณะที่เราเริ่มต้นการแก้ไขไฟล์ แต่ก่อนที่เราแก้ไขไฟล์ ลองไปดูที่ หนังสือของเราที่นี่ ค่าของอื่น ๆ ของเรา คู่ฉลากมูลค่าภายใน วัตถุนอกสุด "หนังสือ" เป็น ยังอาร์เรย์และ อาร์เรย์ในกรณีนี้นอกจากนี้ยังมี มีเพียงสององค์ประกอบเพื่อให้เราได้เป็นตัวแทนของหนังสือสองเล่มที่นี่ มันเป็นเพียงเล็กน้อยที่ซับซ้อนมากขึ้นกว่า นิตยสาร แต่องค์ประกอบเหล่านั้น ยังคงมีวัตถุที่อยู่คู่ป้ายที่มีมูลค่า ดังนั้นเรามีตอนนี้ไอ, ราคานอกจากนี้ชื่อ ทั้งหมดทั้งจำนวนเต็มหรือสตริง แล้วเรามีหนึ่งคอมโพสิตที่ซ้อนกัน วัตถุซึ่งเป็นผู้เขียน และนั่นคืออาร์เรย์อีกครั้ง ดังนั้นอาร์เรย์อีกครั้งจะแสดงโดยวงเล็บ และภายในอาร์เรย์นี้เรา มีผู้เขียนทั้งสองและแต่ละ ของผู้เขียนมีเป็นครั้งแรก ชื่อและนามสกุล แต่อีกครั้งที่มีความสม่ำเสมอ ไม่จำเป็นต้องตามรูปแบบของตัวเองในขณะที่เราจะเห็น ดังนั้นที่ผมกล่าวถึง นี้เป็นจริงบรรณาธิการ JSON ข้อมูลและเรากำลังจะกลับมาแก้ไขนี้ในช่วงเวลาที่ แต่สิ่งที่ผมอยากจะทำคือ แสดงข้อมูลเดียวกัน ในเบราว์เซอร์เบราว์เซอร์เพราะ จริงมีคุณสมบัติที่ดีบางอย่าง สำหรับการนำทางใน JSON ดังนั้นที่นี่เราอยู่ใน เบราว์เซอร์ Chrome ซึ่งมีความสุข และเบราเซอร์อื่นทำเช่นกัน และเบราเซอร์อื่นทำเช่นกัน เราสามารถมองเห็นที่นี่อีกครั้งว่าเรา มีวัตถุใน JSON ข้อมูลของเราที่ประกอบด้วย ของสองคู่ป้ายที่มีมูลค่า; หนังสือและนิตยสารซึ่งเป็น และปิดขณะนี้แล้ว บวกนี้ช่วยให้เราเปิดพวกเขาและดูโครงสร้าง ตัวอย่างเช่นเราเปิดนิตยสาร และเราจะเห็นว่านิตยสารเป็นอาร์เรย์ที่มีวัตถุสอง เราสามารถเปิดหนึ่งในบรรดา วัตถุและเห็นว่าทั้งสามคู่ป้ายที่มีมูลค่า ตอนนี้เราอยู่ในระดับที่ต่ำสุดและในทำนองเดียวกันสำหรับวัตถุอื่น ๆ เราจะเห็นว่าหนังสือที่นี่ นอกจากนี้ยังเป็นอาร์เรย์และเราไปข้างหน้าและเปิดมันขึ้น มันเป็นอาร์เรย์ของสองวัตถุ เราเปิดหนึ่งในบรรดา วัตถุและเราเห็นอีกครั้ง ทำการตั้งค่า คู่ป้ายที่มีมูลค่า ซึ่งเป็นหนึ่งในค่า เป็นรังต่อไป มันเป็นความหลากหลายและการที่เราเปิด นี่คือ อาร์เรย์ที่เราเห็น และพวกเรามอง สองวัตถุและเราเปิด พวกเขาและในที่สุดก็เห็นข้อมูลที่อยู่ในระดับต่ำสุด ดังนั้นอีกครั้งเบราว์เซอร์ ที่นี่จะช่วยให้เราเป็นวิธีที่ดี เพื่อนำทาง JSON ข้อมูลและดูโครงสร้างของมัน ดังนั้นตอนนี้เรากลับไปแก้ไข JSON ของเรา โดยวิธีการแก้ไขนี้คราสไม่ นอกจากนี้ยังมีคุณสมบัติบางอย่างสำหรับ เปิดและปิดโครงสร้าง ของข้อมูล แต่ก็ ไม่ได้ค่อนข้างดีเป็นเบราว์เซอร์ที่เราใช้ ดังนั้นเราจึงตัดสินใจที่จะใช้เบราว์เซอร์แทน สิ่งที่เราจะไป ใช้โปรแกรมแก้ไขสำหรับคือการ ทำการเปลี่ยนแปลงบางอย่างไป JSON ข้อมูลและดูว่า การเปลี่ยนแปลงที่ถูกต้องตามกฎหมายและที่ไม่ได้ ดังนั้นลองมาดูที่การเปลี่ยนแปลงครั้งแรกที่ง่ายมาก เกิดอะไรขึ้นถ้าเราลืมเครื่องหมายจุลภาค ดีเมื่อเราพยายามที่จะ บันทึกแฟ้มที่เราได้รับ แจ้งให้ทราบล่วงหน้าเล็ก ๆ น้อย ๆ ที่เรามี ข้อผิดพลาดที่เราคาดหวัง ค่า N, เพื่อให้เป็น สวยผิดพลาดตรงไปตรงมาให้ใส่เครื่องหมายจุลภาคที่กลับมา สมมติว่าใส่ รั้งพิเศษที่ไหนสักแห่งที่นี่ด้วยเหตุผลใด เราตั้งใจใส่ในรั้งพิเศษ อีกครั้งที่เราเห็นว่าที่ทำเครื่องหมายว่าเป็นข้อผิดพลาด ดังนั้นข้อผิดพลาดที่สามารถ เป็นเรื่องธรรมดาที่จะทำให้เป็น ที่จะลืมที่จะนำคำพูดรอบสตริง ดังนั้นสำหรับตัวอย่างเช่นไอนี้ จำนวนที่นี่ถ้าเราไม่ได้พูดว่าเราจะได้รับข้อผิดพลาด ในฐานะที่เราจะเห็นสิ่งเดียวที่สามารถ จะ unquoted เป็นตัวเลขและ ค่าโมฆะจริงและเท็จ ดังนั้นขอนำคำพูดของเรากลับไปที่นั่น ตอนนี้ในความเป็นจริงมากยิ่งขึ้น ร่วมกันคือการลืมที่จะ ใส่คำพูดรอบฉลากคู่ป้ายที่มีมูลค่า แต่ถ้าเราลืมที่จะพูดนั้นจะเป็นข้อผิดพลาดเช่นกัน คุณอาจสังเกตเห็นโดย ทางเมื่อเราใช้เบราว์เซอร์ เบราว์เซอร์ที่ไม่ได้แสดง เราคำพูดในฉลาก แต่คุณจะทำอย่างไรเมื่อคุณทำ ข้อมูล JSON ดิบคุณไม่จำเป็นต้องมีคำพูดเหล่านั้น การพูดของคำพูดสิ่งที่ถ้าเรายกมาราคาของเราที่นี่ ดีว่าเป็นจริงไม่ได้เป็น ข้อผิดพลาดเพราะตอนนี้เราได้เปิดเพียง ราคาเป็นสตริงและ ค่าสตริงจะได้รับอนุญาตอย่างสมบูรณ์ดีทุกที่ ตอนนี้เราจะเห็นเมื่อเราใช้ สคี JSON ที่เรา สามารถทำให้ข้อ จำกัด ที่ไม่อนุญาตให้ สตริงในสถานที่บางอย่าง แต่ เพียงเพื่อความถูกต้องของประโยค JSON ข้อมูลใด ๆ ของค่านิยมของเราสามารถเป็นสตริง ตอนนี้ที่ผมกล่าวถึงมี ค่าที่มีเพียงไม่กี่ การเรียงลำดับของคำลิขสิทธิ์ใน JSON ตัวอย่างเช่นความจริงเป็น คำสงวนสำหรับค่าแท่ง นั่นหมายความว่าเราไม่จำเป็นต้อง พูดเพราะมันเป็นจริง ชนิดพิเศษของตัวเองของมูลค่า และเพื่อให้เป็นเท็จ และหนึ่งในสามเป็นโมฆะ จึงมีแนวคิดในตัวของ null ตอนนี้ถ้าเราต้องการที่จะ ใช้ศูนย์ด้วยเหตุผลใดก็ตาม แทนที่จะเป็นโมฆะดีตอนนี้ เรากำลังจะได้รับข้อผิดพลาดเพราะ ศูนย์ไม่ได้เป็นคำสงวน และถ้าเราอยากเป็นศูนย์จริงๆ แล้วเราจะต้องทำให้มันเป็นจริงสายยก ตอนนี้ลองมาดูรายชื่อผู้ที่อยู่ภายในของเรา และฉันจะแสดงให้คุณ ที่อาร์เรย์ไม่ได้ จะมีชนิดเดียวกัน ค่าสำหรับองค์ประกอบในอาร์เรย์ทุก ดังนั้นที่นี่เรามีความเป็นเนื้อเดียวกัน รายชื่อของผู้เขียน เขาทั้งคู่ เป็นวัตถุที่เป็นครั้งแรกกับ ชื่อและนามสกุลเป็น คู่ป้ายที่มีมูลค่าที่แยกจากกัน แต่ถ้าผมเปลี่ยนที่ คนแรกค่าทั้งหมด ที่จะเป็นแทน คอมโพสิตหนึ่งเพียงสตริง Jefferey Ullman โอ๊ะขอโทษ เกี่ยวกับการพิมพ์ของฉันมีและที่ ไม่ได้เป็นความผิดพลาดมัน ได้รับอนุญาตให้มีสตริง แล้ววัตถุคอมโพสิต และเรายังสามารถมีอาร์เรย์และสิ่งที่เราต้องการ ในอาร์เรย์เมื่อคุณ มีรายการของค่าทั้งหมด คุณจำเป็นต้องมีสำหรับแต่ละคน จะเป็น syntactically ค่าที่ถูกต้องใน JSON ตอนนี้ขอไปเยี่ยมชมนิตยสารของเรา สำหรับช่วงเวลาที่นี่และปล่อยให้ ฉันแสดงว่าวัตถุที่ว่างเปล่าจะถูก ดังนั้นรายชื่อของฉลาก คู่ค่าประกอบวัตถุสามารถเป็นรายการที่ว่างเปล่า และอื่น ๆ ตอนนี้ผมได้เปิดนิตยสารฉบับนี้ ในการมีข้อมูลเกี่ยวกับไม่มี แต่ที่เป็นกฎหมายใน JSON และในทำนองเดียวกันอาร์เรย์ได้รับอนุญาตให้เป็นความยาวเป็นศูนย์ ดังนั้นผมจึงสามารถใช้เขียนเหล่านี้ ที่นี่และผมก็สามารถใช้ ออกทั้งหมดของผู้เขียนและ ทำให้รายการที่ว่างเปล่า แต่ที่ยังคงถูกต้อง JSON ตอนนี้สิ่งที่ถ้าผมเอาอาร์เรย์นี้ออกทั้งหมด? ในกรณีที่ว่าตอนนี้เรา มีข้อผิดพลาดเพราะนี่คือ วัตถุที่เรามี คู่ฉลากคุณค่าและทุก ฉลากที่มีมูลค่าคู่มีการ มีทั้งป้ายและคุ้มค่า ดังนั้นขอใส่อาร์เรย์ของเรากลับมา และเราจะได้มีอะไรใน มีเพื่อให้เพียงทำให้มัน Fu และที่แก้ไขข้อผิดพลาด เกิดอะไรขึ้นถ้าเราไม่ได้ต้องการ อาร์เรย์ที่นี่แทนและเรา พยายามที่จะทำให้มันพูด, วัตถุ ? ดีเราจะเห็น ข้อผิดพลาดที่นั่นเพราะวัตถุ เป็นเครื่องเตือนใจและนี่คือ ผิดพลาดง่ายที่จะทำให้ วัตถุ มักจะคู่ป้ายที่มีมูลค่า ดังนั้นหากคุณต้องการเพียงแค่ค่า ที่ควรจะเป็นถ้าอาร์เรย์ คุณต้องการวัตถุแล้วเรา พูดคุยเกี่ยวกับคู่ฉลากคุ้มค่าดังนั้น เราก็สามารถเพิ่ม & quot; Fu & quot; เช่น ค่าของเราและจากนั้นเราได้ตั้งค่าทั้งหมด ดังนั้นสิ่งที่เราได้เห็นจนถึงเป็นความถูกต้องประโยค อีกครั้งมีไม่จำเป็นต้องใช้ สม่ำเสมอทั่วทั้งค่าใน อาร์เรย์หรือใน คู่ป้ายที่มีมูลค่าในวัตถุเรา เพียงแค่ต้องให้แน่ใจว่า ค่าทั้งหมดของเราขั้นพื้นฐานของเรา ค่าเป็นประเภทที่เหมาะสม และสิ่งที่ต้องการของเราและจุลภาค วงเล็บปีกกาที่มีทั้งหมดในสถานที่ สิ่งที่เรากำลังจะทำต่อไปคือการมอง ที่สคี JSON ที่เรา มีกลไกการบังคับใช้บางอย่าง ข้อ จำกัด เกินกว่าความถูกต้องประโยคง่ายๆ หากท่านเคยสังเกตมากคุณ อาจจะได้สังเกตเห็นว่าเรา มีแท็บที่สองขึ้น ที่นี่ในการแก้ไขของเราสำหรับ ไฟล์ JSON สองและไฟล์นี้ เป็นไปได้คี สำหรับข้อมูลของร้านหนังสือของเรา เรากำลังใช้ JSON สคีและ JSON คีมาเหมือนเค้าร่าง XML จะแสดงในรูปแบบข้อมูลของตัวเอง ดังนั้นคำอธิบายสคีของเราสำหรับ JSON ข้อมูลนี้เป็นตัวเอง JSON ข้อมูลและนี่ก็คือ และมันจะใช้เวลาบิตของเวลาที่จะอธิบาย ตอนนี้สิ่งแรกที่คุณอาจ แจ้งให้ทราบเป็นว้าว, คี ดูซับซ้อนมากขึ้นและใน fact longer than the data itself. ดีที่เป็นความจริง แต่ที่ส่วนใหญ่เป็นเพราะไฟล์ข้อมูลของเรามีขนาดเล็ก So, if we had thousands, you know, tens นับพันของหนังสือและนิตยสาร ไฟล์คีมาเราจะไม่ เปลี่ยน แต่ไฟล์ข้อมูลของเราจะ จะมากอีกต่อไปและนั่นเป็นกรณีทั่วไปในความเป็นจริง ตอนนี้วิดีโอนี้ไม่ได้เป็น กวดวิชาที่สมบูรณ์เกี่ยวกับสคี JSON ของ มีโครงสร้างหลายใน JSON ของ สคีที่ไม่จำเป็นในการ คีมาที่ไม่ได้จำเป็น todescribe ข้อมูลร้านหนังสือยกตัวอย่างเช่น และแม้กระทั่งไฟล์นี้ที่นี่ ฉันไม่อยากไปถึงรายละเอียดของมันทุกขวาที่นี่ คุณสามารถดาวน์โหลดไฟล์และ จะดูอ่านเพิ่มเติมเล็กน้อยเกี่ยวกับสคี JSON ฉันแค่จะให้ รสชาติของสคีมา สเปคแล้วเรา จะทำงานร่วมกับการตรวจสอบข้อมูล ตัวเองเพื่อดูว่าคีมาและข้อมูลการทำงานร่วมกัน แต่การที่จะให้รสชาติที่นี่ให้เป็นไปผ่านบางส่วนของสคีมาอย่างน้อยบางส่วน ดังนั้นในความรู้สึกบาง โครงสร้างของไฟล์สกีมา สะท้อนให้เห็นถึงโครงสร้างของแฟ้มข้อมูลที่ว่ามันอธิบาย ดังนั้นโครงสร้างนอกสุดใน ไฟล์คีมาเป็น นอกสุดในแฟ้มข้อมูลและ เป็นรังของเรามันแนวการทำรัง ผมขอเพียงแค่แสดงเล็ก ๆ น้อย ๆ บิตที่นี่เราอาจจะดูมากที่สุดของมันในบริบทของการตรวจสอบ ดังนั้นเราจะเห็นว่าที่นี่สร้างนอกสุดของเราในแฟ้มข้อมูลของเราคือวัตถุ และที่บอกให้เรา เพราะเรามี "พิมพ์" เป็น หนึ่งในฉลากของเราในตัวสำหรับสคีมา ดังนั้นเราเรามี วัตถุนี้มีสองคุณสมบัติเป็น เราสามารถดูที่นี่คุณสมบัติของหนังสือเล่มนี้ และทรัพย์สินของนิตยสาร และฉันจะใช้คำว่า "ป้ายกำกับ" บ่อยสำหรับฉลากที่มีมูลค่า คู่ที่ตรงกันกับคู่มูลค่าทรัพย์สิน จากนั้นภายในหนังสืออสังหาริมทรัพย์ ตัวอย่างเช่นเราจะเห็นว่า ประเภทของการที่เป็นอาร์เรย์ ดังนั้นเราจึงได้มีคู่ฉลากคุ้มค่าที่มีค่าเป็นอาร์เรย์ แล้วเราทำตามทำรังและดูว่ามันเป็นอาร์เรย์ของ และเราจะไปเพิ่มเติมลงและเรา ดูคู่ป้ายที่มีมูลค่าแตกต่างกัน ของวัตถุที่ทำขึ้น หนังสือและทำรังต่อไปเป็นผู้เขียนและอื่น ๆ เราเห็นในทำนองเดียวกันให้กับนิตยสาร ว่าค่าของ คู่ป้ายความคุ้มค่า นิตยสารเป็นอาร์เรย์และ อาร์เรย์ที่ประกอบด้วยวัตถุที่มีรังต่อไป ดังนั้นสิ่งที่เรากำลังมองหาที่นี่คือ ออนไลน์ JSON คีมาตรวจสอบ เรามีสองหน้าต่าง ด้านซ้ายเรามีของเรา คีมาและใน ขวาเรามีข้อมูลของเราและ ตรงนี้เป็นข้อมูลเดียวกัน ไฟล์และแฟ้มคีมาว่าเรากำลังมองหาที่ก่อนหน้านี้ ถ้าเรากดปุ่มตรวจสอบ, หวังว่าทุกอย่างควรจะทำงานและมันไม่ นี้จะบอกเราว่า JSON ข้อมูลที่ถูกต้องเกี่ยวกับการสคีมา ตอนนี้ระบบนี้จะของ แน่นอนหาข้อผิดพลาดประโยคพื้นฐาน ดังนั้นผมจึงสามารถนำมาใช้เครื่องหมายจุลภาค เหมือนที่ผมเคยทำมาก่อนและ เมื่อผมตรวจสอบฉันจะได้รับ การแยกวิเคราะห์ข้อผิดพลาดที่มันมีอะไรจะทำอย่างไรกับสคีมา สิ่งที่ฉันจะมุ่งเน้นไปที่ ตอนนี้เป็นจริงการตรวจสอบ ความถูกต้องความหมายของเจสัน ด้วยความเคารพกลับไปสร้าง ที่เราได้ระบุไว้ในสคีมานี้ ก่อนอื่นผมขอใส่เครื่องหมายจุลภาคที่กลับมาเพื่อให้เราเริ่มต้นด้วยไฟล์ที่ถูกต้อง ดังนั้นสิ่งแรกที่ผมจะแสดงเป็น ความสามารถในการ จำกัด การขั้นพื้นฐาน ประเภทและจากนั้นความสามารถในการ การ จำกัด ช่วงของค่าของประเภทพื้นฐานเหล่านั้น และขอเน้นราคา ดังนั้นที่นี่เรากำลังพูดถึง สถานที่ให้บริการราคาหนังสือภายในและ เราระบุใน schema ของเรา ว่าประเภทของราคาต้องเป็นจำนวนเต็ม ดังนั้นสำหรับตัวอย่างเช่นถ้าเรา ราคาถูกแทนสตริง และเราเดินไปข้างหน้าและพยายาม เพื่อตรวจสอบว่าเราจะได้รับข้อผิดพลาด ขอให้มันกลับมาเป็น จำนวนเต็ม แต่ขอให้ มันกลายเป็นจำนวนเต็ม 300 ตอนนี้แทน 100 และทำไมฉันทำอย่างนั้น? เพราะเค้าร่าง JSON ยัง ช่วยให้ฉัน จำกัด ช่วงของ ค่าที่ได้รับอนุญาตถ้าเรามีค่าตัวเลข ดังนั้นไม่เพียง แต่ในราคาที่ไม่ฉัน บอกว่ามันเป็นจำนวนเต็ม แต่ ฉันยังบอกว่ามัน มีค่าต่ำสุดและสูงสุด จำนวนเต็มของราคาต้อง อยู่ระหว่าง 0 และ 200 ดังนั้นถ้าผมพยายามที่จะทำให้ ราคา 300 และฉัน ตรวจสอบผมอีกครั้งรับข้อผิดพลาด ตอนนี้มันไม่ได้เป็นข้อผิดพลาดประเภท, แต่มันก็เป็นข้อผิดพลาดที่ของฉัน จำนวนเต็มอยู่นอกช่วงที่ได้รับอนุญาต ผมเคยใส่ราคากลับไป ร้อยคนและตอนนี้ขอ ดูข้อ จำกัด ในค่าสตริง สคี JSON จริงมี ภาษาจับคู่รูปแบบเล็ก ๆ น้อย ๆ ว่า สามารถนำมาใช้เพื่อเป็นการบังคับ สตริงที่อนุญาตสำหรับประเภทที่เฉพาะเจาะจงของมูลค่า เราจะดูที่จำนวน ISBN นี่เป็นตัวอย่างของการที่ เราได้บอกว่าเป็นเลข ISBN ประเภทสตริงแล้ว เราได้ข้อ จำกัด ต่อไปใน คีมาว่าค่าสตริงสำหรับ ISBN ต้องตอบสนองรูปแบบบางอย่าง ฉันไม่ได้จะไปในรายละเอียดของภาษารูปแบบจับคู่นี้ ฉันแค่อยากให้ตัวอย่าง และในความเป็นจริงนี้สาธิตทั้งหมด จริงๆเพียงแค่ตัวอย่างจำนวนมาก สิ่งที่อยู่ใน JSON ที่เราไม่ได้เห็น อะไรแบบนี้ที่นี่บอกว่าเป็น ค่าสตริงสำหรับ ISBN ต้องเริ่มต้นด้วย สี่ตัวISBN แล้วสามารถตามด้วยสิ่งอื่น ดังนั้นถ้าเราข้ามไปของเรา ข้อมูลและเรามองไปที่ หมายเลข ISBN นี้และ บอกว่าเรามีการพิมพ์ผิด ลืม "ฉัน" และเราพยายามที่จะตรวจสอบ จากนั้นเราก็จะเห็นว่าข้อมูลของเรา ไม่ตรงกับสเปคคีมาของเรา ตอนนี้ให้ดูที่ข้อ จำกัด อื่น ๆ บางอย่างที่เราสามารถระบุใน schema ของ JSON เราสามารถ จำกัด จำนวนขององค์ประกอบในอาร์เรย์ เราสามารถให้น้อยที่สุดหรือสูงสุดหรือทั้งสอง และฉันได้ทำที่นี่ในบริบทของผู้เขียนอาร์เรย์ โปรดจำไว้ว่าผู้เขียนเป็น อาร์เรย์ที่รายการหนึ่ง วัตถุและที่นี่ฉันได้กล่าวว่า เรามีจำนวนขั้นต่ำของ รายการที่ 1 และ รายการจำนวนสูงสุดของ 10 ในคำอื่น ๆ หนังสือทุกเล่ม จะต้องมีระหว่างหนึ่งและสิบผู้เขียน ดังนั้นลองยกตัวอย่างเช่น การออกทั้งหมดของผู้เขียนของเราที่นี่ในหนังสือเล่มแรกของเรา เรามองที่นี้มาก่อนในแง่จริง ประโยคของความถูกต้องและ เป็นทำเลที่ดีเลิศที่ถูกต้องที่จะมีอาร์เรย์ที่ว่างเปล่า แต่เมื่อเราพยายามที่จะตรวจสอบ ตอนนี้เราได้รับการทำ ข้อผิดพลาดและเหตุผลคือ ที่เราบอกว่าเราต้องการ ระหว่างหนึ่งและสิบองค์ประกอบมากมายในกรณีของผู้เขียน ตอนนี้ขอแก้ไขว่า โดยการวางผู้เขียนของเรากลับมาไม่ได้ แต่ขอบอกว่าเราตัดสินใจจริง เราต้องการที่จะสามารถที่จะมีหนังสือที่ไม่มีผู้เขียน ดังนั้นเราก็สามารถแก้ไข ว่าด้วยการเปลี่ยนแปลงขั้นต่ำที่ รายการให้เป็นศูนย์และ ทำให้ข้อมูลของเราที่ถูกต้องอีกครั้งและ ในความเป็นจริงเราจริงอาจใช้เวลาที่ ข้อ จำกัด ขั้นต่ำออกทั้งหมดเข้าด้วยกัน และถ้าเราทำอย่างนั้นข้อมูลของเราจะยังคงสามารถใช้งานได้ ตอนนี้ขอดูสิ่งที่เกิดขึ้นเมื่อเรา เพิ่มสิ่งที่ข้อมูลของเราที่ไม่ได้กล่าวถึงในคี ถ้าคุณดูอย่างคุณจะเห็น ทุกอย่างที่ว่าเรามี ในข้อมูลเพื่อให้ห่างไกลได้รับการระบุไว้ในสคีมา สมมติว่าเรามาพร้อม และตัดสินใจก็จะยังมีการให้คะแนนสำหรับหนังสือของเรา ดังนั้นขอเพิ่มที่นี่ คุณสมบัติคะแนนฉลากที่มีมูลค่า 5 เราไปข้างหน้าและตรวจสอบคุณ probaly คิดว่ามันไม่ได้ไป ตรวจสอบความถูกต้อง แต่จริงๆแล้วมันไม่ได้ ความหมายของ JSON คีมาว่าจะสามารถ จำกัด สิ่งโดย อธิบายให้พวกเขา แต่คุณ ยังสามารถมีองค์ประกอบใน ข้อมูลที่ไม่ได้อยู่ในสคีมานี้ ถ้าเราต้องการที่จะยืนยัน ว่าทรัพย์สินที่เป็นทุก อยู่ในข้อมูลคือ นอกจากนี้ยังได้อธิบายไว้ในนี้ คีมาแล้วเราสามารถ จริงเพิ่มข้อ จำกัด กับ schema ที่บอกเราว่า โดยเฉพาะภายใต้วัตถุ ที่นี่เราสามารถวางไว้ใน ธงพิเศษที่ตัวเอง มีการระบุเป็นป้ายที่เรียกว่าคุณสมบัติเพิ่มเติม และธงนี้ถ้าเรา ตั้งค่าให้เป็นเท็จและจำ เท็จเป็นจริงคำหลัก ใน schema ของ JSON บอกเรา ว่าในข้อมูลของเราเราไม่ได้ อนุญาตให้มีคุณสมบัติใด ๆ นอกเหนือไปจากที่ที่ระบุไว้ในสคีมา ดังนั้นตอนนี้เราตรวจสอบและเรา รับข้อผิดพลาดเพราะทรัพย์สิน คะแนนยังไม่ได้รับการกำหนดไว้ในคี หากคุณสมบัติเพิ่มเติมจะหายไป หรือมีค่าเริ่มต้น ของ "ความจริง" จากนั้นการตรวจสอบผ่านไป ตอนนี้ให้ดูที่ผู้เขียนของเราที่ยังคงอยู่ที่นี่ สมมติว่าเราทำไม่ได้ มีชื่อเป็นครั้งแรกสำหรับผู้เขียนตรงกลางของเราที่นี่ ถ้าเราใช้เวลาที่ออกไปและ เราพยายามที่จะตรวจสอบที่เราทำ รับข้อผิดพลาดเพราะเราระบุ ใน schema ของเราและมันเหมาะสม ลงที่นี่ - ที่ผู้เขียนวัตถุต้อง มีทั้งชื่อและนามสกุล แต่กลับกลายเป็นว่าเราสามารถทำได้ ระบุสำหรับคุณสมบัติที่ว่าทรัพย์สินที่เป็นตัวเลือกทุก ดังนั้นเราสามารถเพิ่ม คำอธิบายแรก ชื่อไม่เพียงว่า ชนิดเป็นสตริง แต่ที่ว่า คุณสมบัติเป็นตัวเลือกเพื่อให้เรา บอกว่าเป็นตัวเลือกที่แท้จริง ตอนนี้ขอตรวจสอบและตอนนี้เรากำลังอยู่ในรูปร่างที่ดี ตอนนี้ขอใช้เวลาดู สิ่งที่เกิดขึ้นเมื่อเรามี วัตถุที่มีมากกว่า หนึ่งตัวอย่างของป้ายกำกับเดียวกันหรือคุณสมบัติเดียวกัน ดังนั้นขอให้คิดว่าตัวอย่างเช่นใน นิตยสารของเรานิตยสาร มีสองแตกต่างกันปี 2009 และ 2011 มีสองแตกต่างกันปี 2009 และ 2011 มันเป็นไปตามโครงสร้างของการมีรายชื่อของคู่ป้ายที่มีมูลค่าการ เมื่อเราตรวจสอบมันเรา เห็นว่าเราไม่สามารถเพิ่มคุณสมบัติสองปี ดังนั้นตรวจสอบนี้ไม่อนุญาตให้ สองฉบับเดียวกัน ทรัพย์สินและมันเป็นจริงชนิด ในสิ่งที่แยกไม่ได้ มากที่เกี่ยวข้องกับสคี JSON ของ parsers หลายจริงไม่บังคับใช้ ที่ฉลากหรือคุณสมบัติต้อง จะไม่ซ้ำกันภายในวัตถุแม้ แม้ว่าในทางเทคนิคที่ถูกต้องไวยากรณ์ JSON ไม่อนุญาตให้หลายสำเนา เพื่อให้เป็นเพียงแค่บางสิ่งบางอย่างที่จะจำ การใช้งานทั่วไปของวัตถุที่เป็น จะมีป้ายชื่อที่ไม่ซ้ำกันในบางครั้ง แม้จะเรียกว่ากุญแจที่กระตุ้นความคิดของพวกเขาที่ไม่ซ้ำกัน ดังนั้นโดยทั่วไปแล้วพวกเขาจะไม่ซ้ำกัน พวกเขาไม่ได้จะต้องมีความถูกต้องของประโยค โดยปกติเมื่อคุณอยากจะมี ค่าซ้ำแล้วซ้ำอีกก็จริงทำให้รู้สึกมากขึ้นเพื่อสร้างอาร์เรย์ ผมเคยนำออกไปปีที่สองในการที่จะทำให้ JSON ที่ถูกต้องอีกครั้ง ตอนนี้ลองมาดูที่เดือน ผมเคยใช้เดือนเพื่อแสดงให้เห็นถึง ข้อ จำกัด การแจงนับเพื่อให้เรา เห็นว่าเราจะได้เป็นการบังคับ ค่าของจำนวนเต็มและเรา เห็นว่าเราสามารถ จำกัด สตริง โดยใช้รูปแบบ แต่เราสามารถ ยัง จำกัด ประเภทใด ๆ โดย แจงค่าที่จะได้รับอนุญาต ดังนั้นสำหรับเดือนเราได้ตั้งค่า มันประเภทสตริงที่มัน เป็น แต่เรามีข้อ จำกัด เพิ่มเติมมัน โดยกล่าวว่าสตริงที่จะต้อง อย่างใดอย่างหนึ่งหรือกุมภาพันธ์ ดังนั้นถ้าเราพยายามที่จะพูด ใส่ในสตริงเดือนมีนาคมเรา ตรวจสอบและเราได้รับข้อผิดพลาดที่เห็นได้ชัดที่นี่ เราสามารถแก้ไขปัญหาที่โดยการเปลี่ยน เดือนกลับ แต่บางทีมันอาจจะ ทำให้รู้สึกมากขึ้นว่าเดือนมีนาคม จะเป็นส่วนหนึ่งของการแจงนับชนิดของเรา ดังนั้นเราจะเพิ่มมีนาคม ค่าที่เป็นไปได้สำหรับเดือนและตอนนี้เรากำลังดี เป็นตัวอย่างต่อไปลองมา ดูที่สิ่งที่เรา เห็นก็ แต่ syntac ที่ถูกต้อง จะไม่เป็นความหมาย ที่ถูกต้องซึ่งเมื่อ เรามีรายชื่อผู้เขียน เป็นส่วนผสมของวัตถุและสตริง ดังนั้นขอใส่เจฟฟรีย์ Ullman นี่เพียงเป็นสตริง เราเห็นว่ายังคงอยู่ JSON ที่ถูกต้อง แต่เมื่อเรา พยายามตรวจสอบตอนนี้เรากำลัง gonna รับข้อผิดพลาดเพราะเราคาดว่า เพื่อดูวัตถุที่เรามี ที่ระบุว่าผู้เขียน เป็นวัตถุและแทนเราได้สตริง ตอนนี้สคี JSON ไม่อนุญาตให้ เราสามารถระบุได้ว่าเรา สามารถมีประเภทที่แตกต่างกันของข้อมูล ในบริบทเดียวกันและฉัน จะแสดงให้เห็นว่ามีนิด ๆ หน่อย ๆ เป็นตัวอย่างที่ง่ายที่นี่ ดังนั้นขอนำมาใช้เป็นครั้งแรกของเรา ผู้เขียนมีเพื่อที่เราจะกลับมาพร้อมกับไฟล์ที่ถูกต้อง และสิ่งที่ผมกำลังจะไปดูที่เป็นเพียงค่าปี ดังนั้นขอสมมติว่าสำหรับสิ่งที่ ด้วยเหตุผลที่ว่าในของเรา นิตยสารซึ่งเป็นหนึ่งใน ปีที่ผ่านมาสตริงและปีอื่น ๆ ที่เป็นจำนวนเต็ม ดังนั้นที่ไม่ gonna ผลงานออกมา ในขณะนี้เพราะเรามี ที่ระบุไว้อย่างชัดเจนว่าปีต้องเป็นจำนวนเต็ม ในรายละเอียดที่สคี JSON เมื่อเรา ต้องการให้หลายประเภท สำหรับค่าที่ ใช้ในบริบทเดียวกันเรา จริงให้ชนิดเป็นอาร์เรย์ ดังนั้นแทนที่จะเพียง แต่พูดว่า จำนวนเต็มถ้าเราใส่ อาร์เรย์ที่นี่ที่มี ทั้งจำนวนเต็มและสตริงที่ บอกเราว่าปีของเรา คุ้มค่าสามารถเป็นได้ทั้ง จำนวนเต็มหรือสตริง และตอนนี้เมื่อเราตรวจสอบ เราได้รับไฟล์ JSON ที่ถูกต้อง สรุปว่าการสาธิตการตรวจสอบสคี JSON ของเรา อีกครั้งที่เราได้เห็นเพียงแค่ ตัวอย่างหนึ่งที่มีจำนวน ของโครงสร้างที่มีอยู่ ใน schema JSON แต่มันก็ไม่ได้ เกือบครบถ้วนสมบูรณ์มีจำนวนมาก คนอื่น ๆ และผมแนะนำให้คุณ อ่านอีกเล็กน้อยเกี่ยวกับมัน คุณสามารถดาวน์โหลดข้อมูลนี้และ คีมานี้ขณะที่เริ่มต้น จุดเริ่มต้นการเพิ่มและสิ่งที่เล่นรอบ และฉันคิดว่าคุณจะได้รับ ความรู้สึกที่ดีสำหรับวิธี JSON คีมาสามารถใช้ในการ จำกัด ข้อมูลที่อนุญาตในแฟ้ม JSON