ในวิดีโอนี้เราจะดูการสาธิตของ 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
มันเป็นไปตามโครงสร้างของการมีรายชื่อของคู่ป้ายที่มีมูลค่าการ
เมื่อเราตรวจสอบมันเรา
เห็นว่าเราไม่สามารถเพิ่มคุณสมบัติสองปี
ดังนั้นตรวจสอบนี้ไม่อนุญาตให้
สองฉบับเดียวกัน
ทรัพย์สินและมันเป็นจริงชนิด
ในสิ่งที่แยกไม่ได้
มากที่เกี่ยวข้องกับสคี JSON ของ
parsers หลายจริงไม่บังคับใช้
ที่ฉลากหรือคุณสมบัติต้อง
จะไม่ซ้ำกันภายในวัตถุแม้
แม้ว่าในทางเทคนิคที่ถูกต้องไวยากรณ์
JSON ไม่อนุญาตให้หลายสำเนา
เพื่อให้เป็นเพียงแค่บางสิ่งบางอย่างที่จะจำ
การใช้งานทั่วไปของวัตถุที่เป็น
จะมีป้ายชื่อที่ไม่ซ้ำกันในบางครั้ง
แม้จะเรียกว่ากุญแจที่กระตุ้นความคิดของพวกเขาที่ไม่ซ้ำกัน
ดังนั้นโดยทั่วไปแล้วพวกเขาจะไม่ซ้ำกัน
พวกเขาไม่ได้จะต้องมีความถูกต้องของประโยค
โดยปกติเมื่อคุณอยากจะมี
ค่าซ้ำแล้วซ้ำอีกก็จริงทำให้รู้สึกมากขึ้นเพื่อสร้างอาร์เรย์
ผมเคยนำออกไปปีที่สองในการที่จะทำให้ JSON ที่ถูกต้องอีกครั้ง
ตอนนี้ลองมาดูที่เดือน
ผมเคยใช้เดือนเพื่อแสดงให้เห็นถึง
ข้อ จำกัด การแจงนับเพื่อให้เรา
เห็นว่าเราจะได้เป็นการบังคับ
ค่าของจำนวนเต็มและเรา
เห็นว่าเราสามารถ จำกัด สตริง
โดยใช้รูปแบบ แต่เราสามารถ
ยัง จำกัด ประเภทใด ๆ โดย
แจงค่าที่จะได้รับอนุญาต
ดังนั้นสำหรับเดือนเราได้ตั้งค่า
มันประเภทสตริงที่มัน
เป็น แต่เรามีข้อ จำกัด เพิ่มเติมมัน
โดยกล่าวว่าสตริงที่จะต้อง
อย่างใดอย่างหนึ่งหรือกุมภาพันธ์
ดังนั้นถ้าเราพยายามที่จะพูด
ใส่ในสตริงเดือนมีนาคมเรา
ตรวจสอบและเราได้รับข้อผิดพลาดที่เห็นได้ชัดที่นี่
เราสามารถแก้ไขปัญหาที่โดยการเปลี่ยน
เดือนกลับ แต่บางทีมันอาจจะ
ทำให้รู้สึกมากขึ้นว่าเดือนมีนาคม
จะเป็นส่วนหนึ่งของการแจงนับชนิดของเรา
ดังนั้นเราจะเพิ่มมีนาคม
ค่าที่เป็นไปได้สำหรับเดือนและตอนนี้เรากำลังดี
เป็นตัวอย่างต่อไปลองมา
ดูที่สิ่งที่เรา
เห็นก็ แต่ syntac ที่ถูกต้อง
จะไม่เป็นความหมาย
ที่ถูกต้องซึ่งเมื่อ
เรามีรายชื่อผู้เขียน
เป็นส่วนผสมของวัตถุและสตริง
ดังนั้นขอใส่เจฟฟรีย์ Ullman นี่เพียงเป็นสตริง
เราเห็นว่ายังคงอยู่
JSON ที่ถูกต้อง แต่เมื่อเรา
พยายามตรวจสอบตอนนี้เรากำลัง gonna
รับข้อผิดพลาดเพราะเราคาดว่า
เพื่อดูวัตถุที่เรามี
ที่ระบุว่าผู้เขียน
เป็นวัตถุและแทนเราได้สตริง
ตอนนี้สคี JSON ไม่อนุญาตให้
เราสามารถระบุได้ว่าเรา
สามารถมีประเภทที่แตกต่างกันของข้อมูล
ในบริบทเดียวกันและฉัน
จะแสดงให้เห็นว่ามีนิด ๆ หน่อย ๆ เป็นตัวอย่างที่ง่ายที่นี่
ดังนั้นขอนำมาใช้เป็นครั้งแรกของเรา
ผู้เขียนมีเพื่อที่เราจะกลับมาพร้อมกับไฟล์ที่ถูกต้อง
และสิ่งที่ผมกำลังจะไปดูที่เป็นเพียงค่าปี
ดังนั้นขอสมมติว่าสำหรับสิ่งที่
ด้วยเหตุผลที่ว่าในของเรา
นิตยสารซึ่งเป็นหนึ่งใน
ปีที่ผ่านมาสตริงและปีอื่น ๆ ที่เป็นจำนวนเต็ม
ดังนั้นที่ไม่ gonna ผลงานออกมา
ในขณะนี้เพราะเรามี
ที่ระบุไว้อย่างชัดเจนว่าปีต้องเป็นจำนวนเต็ม
ในรายละเอียดที่สคี JSON เมื่อเรา
ต้องการให้หลายประเภท
สำหรับค่าที่
ใช้ในบริบทเดียวกันเรา
จริงให้ชนิดเป็นอาร์เรย์
ดังนั้นแทนที่จะเพียง แต่พูดว่า
จำนวนเต็มถ้าเราใส่
อาร์เรย์ที่นี่ที่มี
ทั้งจำนวนเต็มและสตริงที่
บอกเราว่าปีของเรา
คุ้มค่าสามารถเป็นได้ทั้ง
จำนวนเต็มหรือสตริง
และตอนนี้เมื่อเราตรวจสอบ
เราได้รับไฟล์ JSON ที่ถูกต้อง
สรุปว่าการสาธิตการตรวจสอบสคี JSON ของเรา
อีกครั้งที่เราได้เห็นเพียงแค่
ตัวอย่างหนึ่งที่มีจำนวน
ของโครงสร้างที่มีอยู่
ใน schema JSON แต่มันก็ไม่ได้
เกือบครบถ้วนสมบูรณ์มีจำนวนมาก
คนอื่น ๆ และผมแนะนำให้คุณ
อ่านอีกเล็กน้อยเกี่ยวกับมัน
คุณสามารถดาวน์โหลดข้อมูลนี้และ
คีมานี้ขณะที่เริ่มต้น
จุดเริ่มต้นการเพิ่มและสิ่งที่เล่นรอบ
และฉันคิดว่าคุณจะได้รับ
ความรู้สึกที่ดีสำหรับวิธี JSON
คีมาสามารถใช้ในการ
จำกัด ข้อมูลที่อนุญาตในแฟ้ม JSON