0:00:00.043,0:00:04.012 ในวิดีโอนี้เราจะดูการสาธิตของ JSON ข้อมูล 0:00:04.012,0:00:05.075 โปรดอย่าลืมว่า JSON ย่อมาจาก 0:00:05.075,0:00:08.002 JavaScript Object สัญลักษณ์และ 0:00:08.002,0:00:09.077 มันเป็นมาตรฐานสำหรับการเขียน 0:00:09.077,0:00:13.081 ข้อมูลวัตถุลงในรูปแบบที่อ่านของมนุษย์มักจะอยู่ในไฟล์ 0:00:13.081,0:00:16.007 มันมีประโยชน์สำหรับการแลกเปลี่ยนข้อมูล 0:00:16.007,0:00:18.011 ระหว่างโปรแกรมและโดยทั่วไป 0:00:18.011,0:00:20.007 เพราะมันมีความยืดหยุ่นค่อนข้างจะมีประโยชน์ 0:00:20.007,0:00:23.012 สำหรับการเป็นตัวแทนและสำหรับการจัดเก็บข้อมูลที่กึ่งโครงสร้าง 0:00:23.012,0:00:24.082 เตือนของ 0:00:24.082,0:00:26.087 โครงสร้างพื้นฐานในการ JSON เรา 0:00:26.087,0:00:28.003 มีค่าอะตอมเช่น 0:00:28.003,0:00:30.032 เป็นจำนวนเต็มและสตริงและอื่น ๆ 0:00:30.032,0:00:31.066 แล้วเรามีสองประเภท 0:00:31.066,0:00:33.015 สิ่งต่างคอมโพสิต; เรามี 0:00:33.015,0:00:34.002 วัตถุที่เป็นชุดของ 0:00:34.002,0:00:38.048 คู่ฉลากคุณค่าและแล้วเรามีอาร์เรย์ที่มีรายการค่า 0:00:38.048,0:00:40.028 ในการสาธิตเราจะผ่านไป 0:00:40.028,0:00:41.086 ในรายละเอียดมากขึ้นโครงสร้างพื้นฐาน 0:00:41.086,0:00:44.001 ของ JSON และเราจะดูที่ 0:00:44.001,0:00:46.034 บางส่วนถูกต้องชั้นเชิงเราจะแสดงให้เห็นถึง 0:00:46.034,0:00:47.009 ความยืดหยุ่นของข้อมูล 0:00:47.009,0:00:49.018 แบบจำลองและจากนั้นเราจะ 0:00:49.018,0:00:50.093 ดูสั้นที่สคี JSON ของ 0:00:50.093,0:00:52.081 ไม่ได้ใช้กันอย่างแพร่หลาย แต่ยัง 0:00:52.081,0:00:54.029 ยังคงค่อนข้างน่าสนใจไปดูที่ 0:00:54.029,0:00:55.092 และเราจะดูที่การตรวจสอบบาง 0:00:55.092,0:00:59.038 ข้อมูล JSON กับคีมาโดยเฉพาะอย่างยิ่ง 0:00:59.038,0:01:00.062 ดังนั้นนี่เป็น JSON 0:01:00.062,0:01:03.002 ข้อมูลที่เรากำลังจะได้ร่วมงานกับในระหว่างการสาธิตนี้ 0:01:03.002,0:01:04.072 มันเป็นข้อมูลเดียวกับที่ปรากฏ 0:01:04.072,0:01:07.002 ในภาพนิ่งในเบื้องต้น 0:01:07.002,0:01:08.038 เพื่อ JSON แต่ตอนนี้เรากำลังจะ 0:01:08.038,0:01:11.008 จะดูเป็นส่วนประกอบของข้อมูล 0:01:11.008,0:01:13.021 นอกจากนี้ยังเป็นโดยวิธีการ Thea 0:01:13.021,0:01:14.007 ตัวอย่างเดียวกันสวยมากที่เรา 0:01:14.007,0:01:17.007 ใช้สำหรับ XML ก็จัดรูปแบบใหม่ 0:01:17.007,0:01:18.055 ของหลักสูตรเพื่อตอบสนองความ JSON 0:01:18.055,0:01:22.008 รูปแบบข้อมูล แต่คุณสามารถเปรียบเทียบทั้งสองโดยตรง 0:01:22.008,0:01:23.064 สุดท้ายเราจะมี 0:01:23.064,0:01:25.062 ไฟล์สำหรับข้อมูลใน 0:01:25.062,0:01:26.071 เว็บไซต์และที่ฉันทำ 0:01:26.071,0:01:28.002 ขอแนะนำให้คุณดาวน์โหลด 0:01:28.002,0:01:29.008 ไฟล์เพื่อให้คุณสามารถ 0:01:29.008,0:01:31.053 ใช้เวลาดูมันอย่างใกล้ชิดในคอมพิวเตอร์ของคุณเอง 0:01:31.053,0:01:32.028 ขวาทั้งหมด 0:01:32.028,0:01:33.046 ดังนั้นเรามาดูสิ่งที่เรามี 0:01:33.046,0:01:34.082 ตอนนี้เราอยู่ใน 0:01:34.082,0:01:36.066 บรรณาธิการ JSON ข้อมูล 0:01:36.066,0:01:38.008 มันเกิดขึ้นเป็นคราส 0:01:38.008,0:01:38.088 บรรณาธิการและเรากำลังจะไป 0:01:38.088,0:01:39.094 ให้ทำการแก้ไขบางอย่างเพื่อ 0:01:39.094,0:01:41.094 ยื่นหลังจากที่เรามองผ่าน 0:01:41.094,0:01:43.074 โครงสร้างของแฟ้ม 0:01:43.074,0:01:45.069 ดังนั้นนี้เป็น JSON 0:01:45.069,0:01:48.012 ข้อมูลที่เป็นตัวแทนของหนังสือและ 0:01:48.012,0:01:49.065 นิตยสารและเรามี 0:01:49.065,0:01:52.039 ข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับหนังสือและนิตยสารของเรา 0:01:52.039,0:01:53.092 ดังนั้นที่นอกสุดที่ 0:01:53.092,0:01:57.039 วงเล็บปีกกาบ่งบอกว่านี่เป็นวัตถุ JSON 0:01:57.039,0:01:59.014 และเป็นตัวเตือนวัตถุ 0:01:59.014,0:02:01.043 เป็นชุดของฉลากที่มีมูลค่า 0:02:01.043,0:02:03.062 คู่คั่นด้วยเครื่องหมายจุลภาค 0:02:03.062,0:02:07.007 ดังนั้นค่าแรกของเราคือป้าย "หนังสือ" และ 0:02:07.007,0:02:09.066 0:02:09.066,0:02:11.056 วัตถุเป็นหนังสือฉลาก 0:02:11.056,0:02:14.049 และคุ้มค่ายิ่งใหญ่และ 0:02:14.049,0:02:16.004 สองจึงมีเพียงสองป้ายที่มีมูลค่า 0:02:16.004,0:02:17.075 คู่ที่นี่เป็น 0:02:17.075,0:02:21.018 นิตยสารป้ายขนาดใหญ่และความคุ้มค่าที่นี่ 0:02:21.018,0:02:23.091 และลองมาดูเป็นครั้งแรกที่นิตยสาร 0:02:23.091,0:02:25.018 ดังนั้นนิตยสารอีกครั้งเป็น 0:02:25.018,0:02:26.045 ฉลากและค่าของเรา 0:02:26.045,0:02:27.085 สามารถมองเห็นได้ด้วยตาราง 0:02:27.085,0:02:30.022 วงเล็บที่นี่เป็นอาร์เรย์ 0:02:30.022,0:02:31.062 อาร์เรย์เป็นรายการของ 0:02:31.062,0:02:33.034 ค่านิยมและที่นี่เรา 0:02:33.034,0:02:35.008 มีสองค่าในอาร์เรย์ของเรา 0:02:35.008,0:02:37.002 พวกเขายังคงค่าคอมโพสิต 0:02:37.002,0:02:38.059 ดังนั้นเรามีสองค่าแต่ละ 0:02:38.059,0:02:40.028 ซึ่งเป็นวัตถุ 0:02:40.028,0:02:42.007 ชุดของคู่ป้ายที่มีมูลค่า 0:02:42.007,0:02:46.074 ผมขอพูดถึงบางครั้งมีคนโทรหาป้ายชื่อเหล่านี้ 'คุณสมบัติ' โดยวิธีการ 0:02:46.074,0:02:48.028 ถูก ดังนั้นตอนนี้เราอยู่ใน 0:02:48.028,0:02:49.007 2 วัตถุของเราที่มี 0:02:49.007,0:02:53.011 2 องค์ประกอบในอาร์เรย์ที่มูลค่าของนิตยสาร 0:02:53.011,0:02:54.008 และแต่ละคนของผู้ที่มี 0:02:54.008,0:02:56.092 3 ป้ายและ 3 ค่า 0:02:56.092,0:02:58.086 และตอนนี้เรากำลังลงไปในที่สุดค่าฐาน 0:02:58.086,0:03:00.004 ดังนั้นเรามีชื่อเป็น "แห่งชาติ 0:03:00.004,0:03:02.026 ทางภูมิศาสตร์ "สตริงที่ 0:03:02.026,0:03:04.005 เดือนเป็นเดือนมกราคมสตริง 0:03:04.005,0:03:06.033 และปี 2009 ที่ 2009 เป็นจำนวนเต็ม 0:03:06.033,0:03:08.065 และอีกครั้งที่เรามี 0:03:08.065,0:03:12.014 วัตถุอื่นที่นี่ที่เป็นนิตยสารที่แตกต่างกัน 0:03:12.014,0:03:15.027 มีชื่อที่แตกต่างกันและเดือนที่จะเกิดขึ้นในปีเดียวกัน 0:03:15.027,0:03:16.067 ตอนนี้ทั้งสองได้ว่า 0:03:16.067,0:03:18.013 โครงสร้างเดียวกัน แต่พวกเขาไม่ได้ 0:03:18.013,0:03:19.038 ต้องและเราจะ 0:03:19.038,0:03:21.099 เห็นว่าในขณะที่เราเริ่มต้นการแก้ไขไฟล์ 0:03:21.099,0:03:23.019 แต่ก่อนที่เราแก้ไขไฟล์ 0:03:23.019,0:03:24.059 ลองไปดูที่ 0:03:24.059,0:03:26.014 หนังสือของเราที่นี่ 0:03:26.014,0:03:28.055 ค่าของอื่น ๆ ของเรา 0:03:28.055,0:03:30.011 คู่ฉลากมูลค่าภายใน 0:03:30.011,0:03:32.001 วัตถุนอกสุด "หนังสือ" เป็น 0:03:32.001,0:03:34.027 ยังอาร์เรย์และ 0:03:34.027,0:03:35.087 อาร์เรย์ในกรณีนี้นอกจากนี้ยังมี 0:03:35.087,0:03:38.095 มีเพียงสององค์ประกอบเพื่อให้เราได้เป็นตัวแทนของหนังสือสองเล่มที่นี่ 0:03:38.095,0:03:40.039 มันเป็นเพียงเล็กน้อยที่ซับซ้อนมากขึ้นกว่า 0:03:40.039,0:03:42.056 นิตยสาร แต่องค์ประกอบเหล่านั้น 0:03:42.056,0:03:45.072 ยังคงมีวัตถุที่อยู่คู่ป้ายที่มีมูลค่า 0:03:45.072,0:03:47.044 ดังนั้นเรามีตอนนี้ไอ, 0:03:47.044,0:03:49.007 ราคานอกจากนี้ชื่อ 0:03:49.007,0:03:51.097 ทั้งหมดทั้งจำนวนเต็มหรือสตริง 0:03:51.097,0:03:54.075 แล้วเรามีหนึ่งคอมโพสิตที่ซ้อนกัน 0:03:54.075,0:03:56.021 วัตถุซึ่งเป็นผู้เขียน 0:03:56.021,0:03:57.081 และนั่นคืออาร์เรย์อีกครั้ง 0:03:57.081,0:04:02.029 ดังนั้นอาร์เรย์อีกครั้งจะแสดงโดยวงเล็บ 0:04:02.029,0:04:04.003 และภายในอาร์เรย์นี้เรา 0:04:04.003,0:04:06.013 มีผู้เขียนทั้งสองและแต่ละ 0:04:06.013,0:04:07.036 ของผู้เขียนมีเป็นครั้งแรก 0:04:07.036,0:04:08.085 ชื่อและนามสกุล 0:04:08.085,0:04:10.038 แต่อีกครั้งที่มีความสม่ำเสมอ 0:04:10.038,0:04:13.031 ไม่จำเป็นต้องตามรูปแบบของตัวเองในขณะที่เราจะเห็น 0:04:13.031,0:04:15.037 ดังนั้นที่ผมกล่าวถึง 0:04:15.037,0:04:16.073 นี้เป็นจริงบรรณาธิการ 0:04:16.073,0:04:19.028 JSON ข้อมูลและเรากำลังจะกลับมาแก้ไขนี้ในช่วงเวลาที่ 0:04:19.028,0:04:20.003 แต่สิ่งที่ผมอยากจะทำคือ 0:04:20.003,0:04:22.006 แสดงข้อมูลเดียวกัน 0:04:22.006,0:04:23.069 ในเบราว์เซอร์เบราว์เซอร์เพราะ 0:04:23.069,0:04:25.038 จริงมีคุณสมบัติที่ดีบางอย่าง 0:04:25.038,0:04:27.086 สำหรับการนำทางใน JSON 0:04:27.086,0:04:28.068 ดังนั้นที่นี่เราอยู่ใน 0:04:28.068,0:04:30.029 เบราว์เซอร์ Chrome ซึ่งมีความสุข 0:04:30.029,0:04:32.072 และเบราเซอร์อื่นทำเช่นกัน 0:04:32.072,0:04:34.057 และเบราเซอร์อื่นทำเช่นกัน 0:04:34.057,0:04:35.099 เราสามารถมองเห็นที่นี่อีกครั้งว่าเรา 0:04:35.099,0:04:37.053 มีวัตถุใน 0:04:37.053,0:04:39.002 JSON ข้อมูลของเราที่ประกอบด้วย 0:04:39.002,0:04:40.082 ของสองคู่ป้ายที่มีมูลค่า; 0:04:40.082,0:04:42.073 หนังสือและนิตยสารซึ่งเป็น 0:04:42.073,0:04:43.062 และปิดขณะนี้แล้ว 0:04:43.062,0:04:47.016 บวกนี้ช่วยให้เราเปิดพวกเขาและดูโครงสร้าง 0:04:47.016,0:04:48.082 ตัวอย่างเช่นเราเปิดนิตยสาร 0:04:48.082,0:04:52.021 และเราจะเห็นว่านิตยสารเป็นอาร์เรย์ที่มีวัตถุสอง 0:04:52.021,0:04:53.004 เราสามารถเปิดหนึ่งในบรรดา 0:04:53.004,0:04:55.094 วัตถุและเห็นว่าทั้งสามคู่ป้ายที่มีมูลค่า 0:04:55.094,0:04:59.059 ตอนนี้เราอยู่ในระดับที่ต่ำสุดและในทำนองเดียวกันสำหรับวัตถุอื่น ๆ 0:04:59.059,0:05:00.072 เราจะเห็นว่าหนังสือที่นี่ 0:05:00.072,0:05:03.007 นอกจากนี้ยังเป็นอาร์เรย์และเราไปข้างหน้าและเปิดมันขึ้น 0:05:03.007,0:05:05.011 มันเป็นอาร์เรย์ของสองวัตถุ 0:05:05.011,0:05:06.004 เราเปิดหนึ่งในบรรดา 0:05:06.004,0:05:07.088 วัตถุและเราเห็นอีกครั้ง 0:05:07.088,0:05:09.061 ทำการตั้งค่า คู่ป้ายที่มีมูลค่า 0:05:09.061,0:05:10.008 ซึ่งเป็นหนึ่งในค่า 0:05:10.008,0:05:12.061 เป็นรังต่อไป 0:05:12.061,0:05:14.044 มันเป็นความหลากหลายและการที่เราเปิด 0:05:14.044,0:05:15.045 นี่คือ อาร์เรย์ที่เราเห็น และพวกเรามอง 0:05:15.045,0:05:16.069 สองวัตถุและเราเปิด 0:05:16.069,0:05:19.042 พวกเขาและในที่สุดก็เห็นข้อมูลที่อยู่ในระดับต่ำสุด 0:05:19.042,0:05:21.048 ดังนั้นอีกครั้งเบราว์เซอร์ 0:05:21.048,0:05:22.065 ที่นี่จะช่วยให้เราเป็นวิธีที่ดี 0:05:22.065,0:05:26.091 เพื่อนำทาง JSON ข้อมูลและดูโครงสร้างของมัน 0:05:26.091,0:05:28.099 ดังนั้นตอนนี้เรากลับไปแก้ไข JSON ของเรา 0:05:28.099,0:05:30.075 โดยวิธีการแก้ไขนี้คราสไม่ 0:05:30.075,0:05:32.058 นอกจากนี้ยังมีคุณสมบัติบางอย่างสำหรับ 0:05:32.058,0:05:34.015 เปิดและปิดโครงสร้าง 0:05:34.015,0:05:35.096 ของข้อมูล แต่ก็ 0:05:35.096,0:05:38.013 ไม่ได้ค่อนข้างดีเป็นเบราว์เซอร์ที่เราใช้ 0:05:38.013,0:05:39.082 ดังนั้นเราจึงตัดสินใจที่จะใช้เบราว์เซอร์แทน 0:05:39.082,0:05:40.009 สิ่งที่เราจะไป 0:05:40.009,0:05:42.034 ใช้โปรแกรมแก้ไขสำหรับคือการ 0:05:42.034,0:05:43.049 ทำการเปลี่ยนแปลงบางอย่างไป 0:05:43.049,0:05:44.084 JSON ข้อมูลและดูว่า 0:05:44.084,0:05:47.058 การเปลี่ยนแปลงที่ถูกต้องตามกฎหมายและที่ไม่ได้ 0:05:47.058,0:05:50.043 ดังนั้นลองมาดูที่การเปลี่ยนแปลงครั้งแรกที่ง่ายมาก 0:05:50.043,0:05:52.001 เกิดอะไรขึ้นถ้าเราลืมเครื่องหมายจุลภาค 0:05:52.001,0:05:53.032 ดีเมื่อเราพยายามที่จะ 0:05:53.032,0:05:54.043 บันทึกแฟ้มที่เราได้รับ 0:05:54.043,0:05:55.051 แจ้งให้ทราบล่วงหน้าเล็ก ๆ น้อย ๆ ที่เรามี 0:05:55.051,0:05:56.093 ข้อผิดพลาดที่เราคาดหวัง 0:05:56.093,0:05:58.085 ค่า N, เพื่อให้เป็น 0:05:58.085,0:06:02.066 สวยผิดพลาดตรงไปตรงมาให้ใส่เครื่องหมายจุลภาคที่กลับมา 0:06:02.066,0:06:04.068 สมมติว่าใส่ 0:06:04.068,0:06:07.056 รั้งพิเศษที่ไหนสักแห่งที่นี่ด้วยเหตุผลใด 0:06:07.056,0:06:09.079 เราตั้งใจใส่ในรั้งพิเศษ 0:06:09.079,0:06:13.016 อีกครั้งที่เราเห็นว่าที่ทำเครื่องหมายว่าเป็นข้อผิดพลาด 0:06:13.016,0:06:13.099 ดังนั้นข้อผิดพลาดที่สามารถ 0:06:13.099,0:06:15.033 เป็นเรื่องธรรมดาที่จะทำให้เป็น 0:06:15.033,0:06:18.009 ที่จะลืมที่จะนำคำพูดรอบสตริง 0:06:18.009,0:06:20.017 ดังนั้นสำหรับตัวอย่างเช่นไอนี้ 0:06:20.017,0:06:23.065 จำนวนที่นี่ถ้าเราไม่ได้พูดว่าเราจะได้รับข้อผิดพลาด 0:06:23.065,0:06:24.077 ในฐานะที่เราจะเห็นสิ่งเดียวที่สามารถ 0:06:24.077,0:06:27.003 จะ unquoted เป็นตัวเลขและ 0:06:27.003,0:06:29.006 ค่าโมฆะจริงและเท็จ 0:06:29.006,0:06:31.066 ดังนั้นขอนำคำพูดของเรากลับไปที่นั่น 0:06:31.066,0:06:33.016 ตอนนี้ในความเป็นจริงมากยิ่งขึ้น 0:06:33.016,0:06:34.044 ร่วมกันคือการลืมที่จะ 0:06:34.044,0:06:37.071 ใส่คำพูดรอบฉลากคู่ป้ายที่มีมูลค่า 0:06:37.071,0:06:40.077 แต่ถ้าเราลืมที่จะพูดนั้นจะเป็นข้อผิดพลาดเช่นกัน 0:06:40.077,0:06:41.079 คุณอาจสังเกตเห็นโดย 0:06:41.079,0:06:43.051 ทางเมื่อเราใช้เบราว์เซอร์ 0:06:43.051,0:06:44.093 เบราว์เซอร์ที่ไม่ได้แสดง 0:06:44.093,0:06:46.008 เราคำพูดในฉลาก 0:06:46.008,0:06:47.097 แต่คุณจะทำอย่างไรเมื่อคุณทำ 0:06:47.097,0:06:51.071 ข้อมูล JSON ดิบคุณไม่จำเป็นต้องมีคำพูดเหล่านั้น 0:06:51.071,0:06:56.021 การพูดของคำพูดสิ่งที่ถ้าเรายกมาราคาของเราที่นี่ 0:06:56.021,0:06:57.019 ดีว่าเป็นจริงไม่ได้เป็น 0:06:57.019,0:06:58.067 ข้อผิดพลาดเพราะตอนนี้เราได้เปิดเพียง 0:06:58.067,0:07:00.057 ราคาเป็นสตริงและ 0:07:00.057,0:07:03.031 ค่าสตริงจะได้รับอนุญาตอย่างสมบูรณ์ดีทุกที่ 0:07:03.031,0:07:04.048 ตอนนี้เราจะเห็นเมื่อเราใช้ 0:07:04.048,0:07:05.059 สคี JSON ที่เรา 0:07:05.059,0:07:07.018 สามารถทำให้ข้อ จำกัด ที่ไม่อนุญาตให้ 0:07:07.018,0:07:08.089 สตริงในสถานที่บางอย่าง แต่ 0:07:08.089,0:07:10.007 เพียงเพื่อความถูกต้องของประโยค 0:07:10.007,0:07:15.038 JSON ข้อมูลใด ๆ ของค่านิยมของเราสามารถเป็นสตริง 0:07:15.038,0:07:16.058 ตอนนี้ที่ผมกล่าวถึงมี 0:07:16.058,0:07:17.096 ค่าที่มีเพียงไม่กี่ 0:07:17.096,0:07:20.045 การเรียงลำดับของคำลิขสิทธิ์ใน JSON 0:07:20.045,0:07:22.039 ตัวอย่างเช่นความจริงเป็น 0:07:22.039,0:07:24.042 คำสงวนสำหรับค่าแท่ง 0:07:24.042,0:07:25.076 นั่นหมายความว่าเราไม่จำเป็นต้อง 0:07:25.076,0:07:27.019 พูดเพราะมันเป็นจริง 0:07:27.019,0:07:28.088 ชนิดพิเศษของตัวเองของมูลค่า 0:07:28.088,0:07:30.039 และเพื่อให้เป็นเท็จ 0:07:30.039,0:07:32.027 และหนึ่งในสามเป็นโมฆะ 0:07:32.027,0:07:35.003 จึงมีแนวคิดในตัวของ null 0:07:35.003,0:07:36.063 ตอนนี้ถ้าเราต้องการที่จะ 0:07:36.063,0:07:38.016 ใช้ศูนย์ด้วยเหตุผลใดก็ตาม 0:07:38.016,0:07:39.065 แทนที่จะเป็นโมฆะดีตอนนี้ 0:07:39.065,0:07:40.007 เรากำลังจะได้รับข้อผิดพลาดเพราะ 0:07:40.007,0:07:42.014 ศูนย์ไม่ได้เป็นคำสงวน 0:07:42.014,0:07:43.053 และถ้าเราอยากเป็นศูนย์จริงๆ 0:07:43.053,0:07:47.088 แล้วเราจะต้องทำให้มันเป็นจริงสายยก 0:07:47.088,0:07:50.018 ตอนนี้ลองมาดูรายชื่อผู้ที่อยู่ภายในของเรา 0:07:50.018,0:07:51.024 และฉันจะแสดงให้คุณ 0:07:51.024,0:07:52.009 ที่อาร์เรย์ไม่ได้ 0:07:52.009,0:07:54.007 จะมีชนิดเดียวกัน 0:07:54.007,0:07:56.035 ค่าสำหรับองค์ประกอบในอาร์เรย์ทุก 0:07:56.035,0:07:58.004 ดังนั้นที่นี่เรามีความเป็นเนื้อเดียวกัน 0:07:58.004,0:07:59.067 รายชื่อของผู้เขียน เขาทั้งคู่ 0:07:59.067,0:08:01.017 เป็นวัตถุที่เป็นครั้งแรกกับ 0:08:01.017,0:08:02.022 ชื่อและนามสกุลเป็น 0:08:02.022,0:08:04.026 คู่ป้ายที่มีมูลค่าที่แยกจากกัน 0:08:04.026,0:08:05.009 แต่ถ้าผมเปลี่ยนที่ 0:08:05.009,0:08:07.098 คนแรกค่าทั้งหมด 0:08:07.098,0:08:09.053 ที่จะเป็นแทน 0:08:09.053,0:08:11.033 คอมโพสิตหนึ่งเพียงสตริง 0:08:11.033,0:08:13.027 Jefferey Ullman โอ๊ะขอโทษ 0:08:13.027,0:08:15.067 เกี่ยวกับการพิมพ์ของฉันมีและที่ 0:08:15.067,0:08:17.002 ไม่ได้เป็นความผิดพลาดมัน 0:08:17.002,0:08:18.083 ได้รับอนุญาตให้มีสตริง 0:08:18.083,0:08:20.002 แล้ววัตถุคอมโพสิต 0:08:20.002,0:08:22.092 และเรายังสามารถมีอาร์เรย์และสิ่งที่เราต้องการ 0:08:22.092,0:08:24.003 ในอาร์เรย์เมื่อคุณ 0:08:24.003,0:08:25.037 มีรายการของค่าทั้งหมด 0:08:25.037,0:08:26.066 คุณจำเป็นต้องมีสำหรับแต่ละคน 0:08:26.066,0:08:30.022 จะเป็น syntactically ค่าที่ถูกต้องใน JSON 0:08:30.022,0:08:32.000 ตอนนี้ขอไปเยี่ยมชมนิตยสารของเรา 0:08:32.000,0:08:33.008 สำหรับช่วงเวลาที่นี่และปล่อยให้ 0:08:33.008,0:08:35.074 ฉันแสดงว่าวัตถุที่ว่างเปล่าจะถูก 0:08:35.074,0:08:37.079 ดังนั้นรายชื่อของฉลาก 0:08:37.079,0:08:41.046 คู่ค่าประกอบวัตถุสามารถเป็นรายการที่ว่างเปล่า 0:08:41.046,0:08:42.097 และอื่น ๆ ตอนนี้ผมได้เปิดนิตยสารฉบับนี้ 0:08:42.097,0:08:44.055 ในการมีข้อมูลเกี่ยวกับไม่มี 0:08:44.055,0:08:46.042 แต่ที่เป็นกฎหมายใน JSON 0:08:46.042,0:08:50.091 และในทำนองเดียวกันอาร์เรย์ได้รับอนุญาตให้เป็นความยาวเป็นศูนย์ 0:08:50.091,0:08:52.036 ดังนั้นผมจึงสามารถใช้เขียนเหล่านี้ 0:08:52.036,0:08:53.043 ที่นี่และผมก็สามารถใช้ 0:08:53.043,0:08:54.081 ออกทั้งหมดของผู้เขียนและ 0:08:54.081,0:08:58.004 ทำให้รายการที่ว่างเปล่า แต่ที่ยังคงถูกต้อง JSON 0:08:58.004,0:09:01.093 ตอนนี้สิ่งที่ถ้าผมเอาอาร์เรย์นี้ออกทั้งหมด? 0:09:01.093,0:09:02.098 ในกรณีที่ว่าตอนนี้เรา 0:09:02.098,0:09:04.036 มีข้อผิดพลาดเพราะนี่คือ 0:09:04.036,0:09:05.067 วัตถุที่เรามี 0:09:05.067,0:09:08.001 คู่ฉลากคุณค่าและทุก 0:09:08.001,0:09:09.029 ฉลากที่มีมูลค่าคู่มีการ 0:09:09.029,0:09:12.003 มีทั้งป้ายและคุ้มค่า 0:09:12.003,0:09:13.091 ดังนั้นขอใส่อาร์เรย์ของเรากลับมา 0:09:13.091,0:09:15.001 และเราจะได้มีอะไรใน 0:09:15.001,0:09:16.038 มีเพื่อให้เพียงทำให้มัน 0:09:16.038,0:09:19.016 Fu และที่แก้ไขข้อผิดพลาด 0:09:19.016,0:09:20.003 เกิดอะไรขึ้นถ้าเราไม่ได้ต้องการ 0:09:20.003,0:09:21.049 อาร์เรย์ที่นี่แทนและเรา 0:09:21.049,0:09:24.064 พยายามที่จะทำให้มันพูด, วัตถุ ? 0:09:24.064,0:09:26.008 ดีเราจะเห็น 0:09:26.008,0:09:28.001 ข้อผิดพลาดที่นั่นเพราะวัตถุ 0:09:28.001,0:09:29.029 เป็นเครื่องเตือนใจและนี่คือ 0:09:29.029,0:09:30.082 ผิดพลาดง่ายที่จะทำให้ วัตถุ 0:09:30.082,0:09:33.029 มักจะคู่ป้ายที่มีมูลค่า 0:09:33.029,0:09:34.006 ดังนั้นหากคุณต้องการเพียงแค่ค่า 0:09:34.006,0:09:36.014 ที่ควรจะเป็นถ้าอาร์เรย์ 0:09:36.014,0:09:37.061 คุณต้องการวัตถุแล้วเรา 0:09:37.061,0:09:39.008 พูดคุยเกี่ยวกับคู่ฉลากคุ้มค่าดังนั้น 0:09:39.008,0:09:40.024 เราก็สามารถเพิ่ม & quot; Fu & quot; เช่น 0:09:40.024,0:09:42.084 ค่าของเราและจากนั้นเราได้ตั้งค่าทั้งหมด 0:09:42.084,0:09:46.004 ดังนั้นสิ่งที่เราได้เห็นจนถึงเป็นความถูกต้องประโยค 0:09:46.004,0:09:48.005 อีกครั้งมีไม่จำเป็นต้องใช้ 0:09:48.005,0:09:50.073 สม่ำเสมอทั่วทั้งค่าใน 0:09:50.073,0:09:52.095 อาร์เรย์หรือใน 0:09:52.095,0:09:55.011 คู่ป้ายที่มีมูลค่าในวัตถุเรา 0:09:55.011,0:09:56.052 เพียงแค่ต้องให้แน่ใจว่า 0:09:56.052,0:09:57.078 ค่าทั้งหมดของเราขั้นพื้นฐานของเรา 0:09:57.078,0:09:59.022 ค่าเป็นประเภทที่เหมาะสม 0:09:59.022,0:10:00.045 และสิ่งที่ต้องการของเราและจุลภาค 0:10:00.045,0:10:02.088 วงเล็บปีกกาที่มีทั้งหมดในสถานที่ 0:10:02.088,0:10:04.023 [br]สิ่งที่เรากำลังจะทำต่อไปคือการมอง 0:10:04.023,0:10:05.077 [br]ที่สคี JSON ที่เรา 0:10:05.077,0:10:08.008 มีกลไกการบังคับใช้บางอย่าง 0:10:08.008,0:10:11.083 ข้อ จำกัด เกินกว่าความถูกต้องประโยคง่ายๆ 0:10:11.083,0:10:13.001 หากท่านเคยสังเกตมากคุณ 0:10:13.001,0:10:14.026 [br]อาจจะได้สังเกตเห็นว่าเรา 0:10:14.026,0:10:15.047 [br]มีแท็บที่สองขึ้น 0:10:15.047,0:10:17.027 [br]ที่นี่ในการแก้ไขของเราสำหรับ 0:10:17.027,0:10:18.096 ไฟล์ JSON สองและไฟล์นี้ 0:10:18.096,0:10:20.034 [br]เป็นไปได้คี 0:10:20.034,0:10:22.077 สำหรับข้อมูลของร้านหนังสือของเรา เรากำลังใช้ 0:10:22.077,0:10:25.013 [br]JSON สคีและ JSON 0:10:25.013,0:10:27.008 [br]คีมาเหมือนเค้าร่าง XML 0:10:27.008,0:10:29.004 จะแสดงในรูปแบบข้อมูลของตัวเอง 0:10:29.004,0:10:31.031 [br]ดังนั้นคำอธิบายสคีของเราสำหรับ 0:10:31.031,0:10:33.018 [br]JSON ข้อมูลนี้เป็นตัวเอง 0:10:33.018,0:10:35.037 [br]JSON ข้อมูลและนี่ก็คือ 0:10:35.037,0:10:37.011 และมันจะใช้เวลาบิตของเวลาที่จะอธิบาย 0:10:37.011,0:10:37.098 [br]ตอนนี้สิ่งแรกที่คุณอาจ 0:10:37.098,0:10:39.042 แจ้งให้ทราบเป็นว้าว, คี 0:10:39.042,0:10:41.005 [br]ดูซับซ้อนมากขึ้นและใน 0:10:41.005,0:10:43.049 fact longer than the data itself. 0:10:43.049,0:10:47.008 [br]ดีที่เป็นความจริง แต่ที่ส่วนใหญ่เป็นเพราะไฟล์ข้อมูลของเรามีขนาดเล็ก 0:10:47.008,0:10:49.023 So, if we had thousands, you know, tens 0:10:49.023,0:10:51.046 นับพันของหนังสือและนิตยสาร 0:10:51.046,0:10:53.014 [br]ไฟล์คีมาเราจะไม่ 0:10:53.014,0:10:54.031 เปลี่ยน แต่ไฟล์ข้อมูลของเราจะ 0:10:54.031,0:10:57.058 จะมากอีกต่อไปและนั่นเป็นกรณีทั่วไปในความเป็นจริง 0:10:57.058,0:10:58.079 ตอนนี้วิดีโอนี้ไม่ได้เป็น[br] 0:10:58.079,0:11:01.003 [br]กวดวิชาที่สมบูรณ์เกี่ยวกับสคี JSON ของ 0:11:01.003,0:11:02.075 [br]มีโครงสร้างหลายใน JSON ของ 0:11:02.075,0:11:04.056 สคีที่ไม่จำเป็นในการ 0:11:04.056,0:11:06.076 [br]คีมาที่ไม่ได้จำเป็น todescribe ข้อมูลร้านหนังสือยกตัวอย่างเช่น 0:11:06.076,0:11:08.053 และแม้กระทั่งไฟล์นี้ที่นี่ 0:11:08.053,0:11:11.057 [br]ฉันไม่อยากไปถึงรายละเอียดของมันทุกขวาที่นี่ 0:11:11.057,0:11:12.072 คุณสามารถดาวน์โหลดไฟล์และ 0:11:12.072,0:11:15.023 [br]จะดูอ่านเพิ่มเติมเล็กน้อยเกี่ยวกับสคี JSON 0:11:15.023,0:11:16.032 ฉันแค่จะให้ 0:11:16.032,0:11:17.074 [br]รสชาติของสคีมา 0:11:17.074,0:11:19.029 [br]สเปคแล้วเรา 0:11:19.029,0:11:20.087 จะทำงานร่วมกับการตรวจสอบข้อมูล 0:11:20.087,0:11:24.005 ตัวเองเพื่อดูว่าคีมาและข้อมูลการทำงานร่วมกัน 0:11:24.005,0:11:28.002 [br]แต่การที่จะให้รสชาติที่นี่ให้เป็นไปผ่านบางส่วนของสคีมาอย่างน้อยบางส่วน 0:11:28.002,0:11:29.056 [br]ดังนั้นในความรู้สึกบาง 0:11:29.056,0:11:31.062 โครงสร้างของไฟล์สกีมา 0:11:31.062,0:11:34.055 สะท้อนให้เห็นถึงโครงสร้างของแฟ้มข้อมูลที่ว่ามันอธิบาย 0:11:34.055,0:11:37.018 [br]ดังนั้นโครงสร้างนอกสุดใน 0:11:37.018,0:11:38.033 [br]ไฟล์คีมาเป็น 0:11:38.033,0:11:39.056 [br]นอกสุดในแฟ้มข้อมูลและ 0:11:39.056,0:11:42.046 [br]เป็นรังของเรามันแนวการทำรัง 0:11:42.046,0:11:43.068 ผมขอเพียงแค่แสดงเล็ก ๆ น้อย ๆ 0:11:43.068,0:11:48.047 [br]บิตที่นี่เราอาจจะดูมากที่สุดของมันในบริบทของการตรวจสอบ 0:11:48.047,0:11:52.068 [br]ดังนั้นเราจะเห็นว่าที่นี่สร้างนอกสุดของเราในแฟ้มข้อมูลของเราคือวัตถุ 0:11:52.068,0:11:53.078 และที่บอกให้เรา 0:11:53.078,0:11:55.008 [br]เพราะเรามี "พิมพ์" เป็น 0:11:55.008,0:11:57.027 [br]หนึ่งในฉลากของเราในตัวสำหรับสคีมา 0:11:57.027,0:11:58.054 [br]ดังนั้นเราเรามี 0:11:58.054,0:12:00.061 [br]วัตถุนี้มีสองคุณสมบัติเป็น 0:12:00.061,0:12:02.063 [br]เราสามารถดูที่นี่คุณสมบัติของหนังสือเล่มนี้ 0:12:02.063,0:12:04.065 และทรัพย์สินของนิตยสาร 0:12:04.065,0:12:05.077 และฉันจะใช้คำว่า 0:12:05.077,0:12:07.088 [br]"ป้ายกำกับ" บ่อยสำหรับฉลากที่มีมูลค่า 0:12:07.088,0:12:11.064 [br]คู่ที่ตรงกันกับคู่มูลค่าทรัพย์สิน 0:12:11.064,0:12:13.055 จากนั้นภายในหนังสืออสังหาริมทรัพย์ 0:12:13.055,0:12:15.001 [br]ตัวอย่างเช่นเราจะเห็นว่า 0:12:15.001,0:12:16.055 [br]ประเภทของการที่เป็นอาร์เรย์ 0:12:16.055,0:12:19.025 ดังนั้นเราจึงได้มีคู่ฉลากคุ้มค่าที่มีค่าเป็นอาร์เรย์ 0:12:19.025,0:12:22.042 แล้วเราทำตามทำรังและดูว่ามันเป็นอาร์เรย์ของ 0:12:22.042,0:12:24.016 [br]และเราจะไปเพิ่มเติมลงและเรา 0:12:24.016,0:12:26.001 ดูคู่ป้ายที่มีมูลค่าแตกต่างกัน 0:12:26.001,0:12:27.051 ของวัตถุที่ทำขึ้น 0:12:27.051,0:12:31.000 [br]หนังสือและทำรังต่อไปเป็นผู้เขียนและอื่น ๆ 0:12:31.000,0:12:32.096 [br]เราเห็นในทำนองเดียวกันให้กับนิตยสาร 0:12:32.096,0:12:34.077 [br]ว่าค่าของ 0:12:34.077,0:12:36.023 [br]คู่ป้ายความคุ้มค่า 0:12:36.023,0:12:37.094 [br]นิตยสารเป็นอาร์เรย์และ 0:12:37.094,0:12:41.003 [br]อาร์เรย์ที่ประกอบด้วยวัตถุที่มีรังต่อไป 0:12:41.003,0:12:42.015 ดังนั้นสิ่งที่เรากำลังมองหาที่นี่คือ 0:12:42.015,0:12:45.055 [br]ออนไลน์ JSON คีมาตรวจสอบ เรามีสองหน้าต่าง 0:12:45.055,0:12:46.054 [br]ด้านซ้ายเรามีของเรา 0:12:46.054,0:12:47.065 คีมาและใน 0:12:47.065,0:12:49.007 ขวาเรามีข้อมูลของเราและ 0:12:49.007,0:12:50.059 [br]ตรงนี้เป็นข้อมูลเดียวกัน 0:12:50.059,0:12:54.001 [br]ไฟล์และแฟ้มคีมาว่าเรากำลังมองหาที่ก่อนหน้านี้ 0:12:54.001,0:12:55.071 ถ้าเรากดปุ่มตรวจสอบ, 0:12:55.071,0:12:58.015 หวังว่าทุกอย่างควรจะทำงานและมันไม่ 0:12:58.015,0:12:59.029 [br]นี้จะบอกเราว่า 0:12:59.029,0:13:03.001 [br]JSON ข้อมูลที่ถูกต้องเกี่ยวกับการสคีมา 0:13:03.001,0:13:04.059 ตอนนี้ระบบนี้จะของ 0:13:04.059,0:13:06.047 แน่นอนหาข้อผิดพลาดประโยคพื้นฐาน 0:13:06.047,0:13:07.076 ดังนั้นผมจึงสามารถนำมาใช้เครื่องหมายจุลภาค 0:13:07.076,0:13:09.003 [br]เหมือนที่ผมเคยทำมาก่อนและ 0:13:09.003,0:13:10.038 เมื่อผมตรวจสอบฉันจะได้รับ 0:13:10.038,0:13:13.028 การแยกวิเคราะห์ข้อผิดพลาดที่มันมีอะไรจะทำอย่างไรกับสคีมา 0:13:13.028,0:13:14.002 สิ่งที่ฉันจะมุ่งเน้นไปที่ 0:13:14.002,0:13:16.049 [br]ตอนนี้เป็นจริงการตรวจสอบ 0:13:16.049,0:13:18.044 [br]ความถูกต้องความหมายของเจสัน 0:13:18.044,0:13:19.075 [br]ด้วยความเคารพกลับไปสร้าง 0:13:19.075,0:13:21.039 [br]ที่เราได้ระบุไว้ในสคีมานี้ 0:13:21.039,0:13:25.033 [br]ก่อนอื่นผมขอใส่เครื่องหมายจุลภาคที่กลับมาเพื่อให้เราเริ่มต้นด้วยไฟล์ที่ถูกต้อง 0:13:25.033,0:13:26.077 [br]ดังนั้นสิ่งแรกที่ผมจะแสดงเป็น 0:13:26.077,0:13:28.041 [br]ความสามารถในการ จำกัด การขั้นพื้นฐาน 0:13:28.041,0:13:29.067 ประเภทและจากนั้นความสามารถในการ 0:13:29.067,0:13:32.018 [br]การ จำกัด ช่วงของค่าของประเภทพื้นฐานเหล่านั้น 0:13:32.018,0:13:34.047 และขอเน้นราคา 0:13:34.047,0:13:35.056 [br]ดังนั้นที่นี่เรากำลังพูดถึง 0:13:35.056,0:13:37.076 สถานที่ให้บริการราคาหนังสือภายในและ 0:13:37.076,0:13:39.058 [br]เราระบุใน schema ของเรา 0:13:39.058,0:13:42.005 [br]ว่าประเภทของราคาต้องเป็นจำนวนเต็ม 0:13:42.005,0:13:44.001 [br]ดังนั้นสำหรับตัวอย่างเช่นถ้าเรา 0:13:44.001,0:13:46.022 [br]ราคาถูกแทนสตริง 0:13:46.022,0:13:47.026 [br]และเราเดินไปข้างหน้าและพยายาม 0:13:47.026,0:13:49.095 [br]เพื่อตรวจสอบว่าเราจะได้รับข้อผิดพลาด 0:13:49.095,0:13:51.003 [br]ขอให้มันกลับมาเป็น 0:13:51.003,0:13:53.068 [br]จำนวนเต็ม แต่ขอให้ 0:13:53.068,0:13:56.006 [br]มันกลายเป็นจำนวนเต็ม 300 ตอนนี้แทน 100 0:13:56.006,0:13:58.061 และทำไมฉันทำอย่างนั้น? 0:13:58.061,0:14:00.041 [br]เพราะเค้าร่าง JSON ยัง 0:14:00.041,0:14:01.097 [br]ช่วยให้ฉัน จำกัด ช่วงของ 0:14:01.097,0:14:05.014 [br]ค่าที่ได้รับอนุญาตถ้าเรามีค่าตัวเลข 0:14:05.014,0:14:06.066 ดังนั้นไม่เพียง แต่ในราคาที่ไม่ฉัน 0:14:06.066,0:14:08.026 บอกว่ามันเป็นจำนวนเต็ม แต่[br] 0:14:08.026,0:14:09.046 ฉันยังบอกว่ามัน 0:14:09.046,0:14:11.006 [br]มีค่าต่ำสุดและสูงสุด 0:14:11.006,0:14:13.025 [br]จำนวนเต็มของราคาต้อง 0:14:13.025,0:14:15.043 [br]อยู่ระหว่าง 0 และ 200 0:14:15.043,0:14:16.037 [br]ดังนั้นถ้าผมพยายามที่จะทำให้ 0:14:16.037,0:14:18.024 [br]ราคา 300 และฉัน 0:14:18.024,0:14:20.004 [br]ตรวจสอบผมอีกครั้งรับข้อผิดพลาด 0:14:20.004,0:14:21.091 [br]ตอนนี้มันไม่ได้เป็นข้อผิดพลาดประเภท, 0:14:21.091,0:14:23.002 [br]แต่มันก็เป็นข้อผิดพลาดที่ของฉัน 0:14:23.002,0:14:26.034 [br]จำนวนเต็มอยู่นอกช่วงที่ได้รับอนุญาต 0:14:26.034,0:14:27.048 [br]ผมเคยใส่ราคากลับไป 0:14:27.048,0:14:28.081 [br]ร้อยคนและตอนนี้ขอ 0:14:28.081,0:14:32.016 [br]ดูข้อ จำกัด ในค่าสตริง 0:14:32.016,0:14:33.054 สคี JSON จริงมี 0:14:33.054,0:14:35.016 [br]ภาษาจับคู่รูปแบบเล็ก ๆ น้อย ๆ ว่า 0:14:35.016,0:14:36.063 [br]สามารถนำมาใช้เพื่อเป็นการบังคับ 0:14:36.063,0:14:40.023 [br]สตริงที่อนุญาตสำหรับประเภทที่เฉพาะเจาะจงของมูลค่า 0:14:40.023,0:14:43.038 [br]เราจะดูที่จำนวน ISBN นี่เป็นตัวอย่างของการที่ 0:14:43.038,0:14:45.024 [br]เราได้บอกว่าเป็นเลข ISBN 0:14:45.024,0:14:47.008 [br]ประเภทสตริงแล้ว 0:14:47.008,0:14:48.056 [br]เราได้ข้อ จำกัด ต่อไปใน 0:14:48.056,0:14:50.005 [br]คีมาว่าค่าสตริงสำหรับ 0:14:50.005,0:14:52.072 [br]ISBN ต้องตอบสนองรูปแบบบางอย่าง 0:14:52.072,0:14:56.021 [br]ฉันไม่ได้จะไปในรายละเอียดของภาษารูปแบบจับคู่นี้ 0:14:56.021,0:14:57.068 [br]ฉันแค่อยากให้ตัวอย่าง 0:14:57.068,0:14:59.014 และในความเป็นจริงนี้สาธิตทั้งหมด 0:14:59.014,0:15:00.062 จริงๆเพียงแค่ตัวอย่างจำนวนมาก 0:15:00.062,0:15:03.043 สิ่งที่อยู่ใน JSON ที่เราไม่ได้เห็น 0:15:03.043,0:15:05.035 [br]อะไรแบบนี้ที่นี่บอกว่าเป็น 0:15:05.035,0:15:06.098 [br]ค่าสตริงสำหรับ 0:15:06.098,0:15:08.092 [br]ISBN ต้องเริ่มต้นด้วย 0:15:08.092,0:15:13.008 สี่ตัวISBN แล้วสามารถตามด้วยสิ่งอื่น 0:15:13.008,0:15:14.011 ดังนั้นถ้าเราข้ามไปของเรา 0:15:14.011,0:15:15.036 ข้อมูลและเรามองไปที่ 0:15:15.036,0:15:17.006 หมายเลข ISBN นี้และ 0:15:17.006,0:15:18.003 บอกว่าเรามีการพิมพ์ผิด 0:15:18.003,0:15:20.079 ลืม "ฉัน" และเราพยายามที่จะตรวจสอบ 0:15:20.079,0:15:22.042 จากนั้นเราก็จะเห็นว่าข้อมูลของเรา 0:15:22.042,0:15:25.074 ไม่ตรงกับสเปคคีมาของเรา 0:15:25.074,0:15:29.045 ตอนนี้ให้ดูที่ข้อ จำกัด อื่น ๆ บางอย่างที่เราสามารถระบุใน schema ของ JSON 0:15:29.045,0:15:32.015 เราสามารถ จำกัด จำนวนขององค์ประกอบในอาร์เรย์ 0:15:32.015,0:15:35.004 เราสามารถให้น้อยที่สุดหรือสูงสุดหรือทั้งสอง 0:15:35.004,0:15:38.012 และฉันได้ทำที่นี่ในบริบทของผู้เขียนอาร์เรย์ 0:15:38.012,0:15:39.069 โปรดจำไว้ว่าผู้เขียนเป็น 0:15:39.069,0:15:40.073 อาร์เรย์ที่รายการหนึ่ง 0:15:40.073,0:15:42.089 วัตถุและที่นี่ฉันได้กล่าวว่า 0:15:42.089,0:15:44.008 เรามีจำนวนขั้นต่ำของ 0:15:44.008,0:15:45.043 รายการที่ 1 และ 0:15:45.043,0:15:46.075 รายการจำนวนสูงสุดของ 10 0:15:46.075,0:15:48.044 ในคำอื่น ๆ หนังสือทุกเล่ม 0:15:48.044,0:15:51.042 จะต้องมีระหว่างหนึ่งและสิบผู้เขียน 0:15:51.042,0:15:53.019 ดังนั้นลองยกตัวอย่างเช่น 0:15:53.019,0:15:56.018 การออกทั้งหมดของผู้เขียนของเราที่นี่ในหนังสือเล่มแรกของเรา 0:15:56.018,0:15:57.085 เรามองที่นี้มาก่อนในแง่จริง 0:15:57.085,0:15:59.027 ประโยคของความถูกต้องและ 0:15:59.027,0:16:01.045 เป็นทำเลที่ดีเลิศที่ถูกต้องที่จะมีอาร์เรย์ที่ว่างเปล่า 0:16:01.045,0:16:02.086 แต่เมื่อเราพยายามที่จะตรวจสอบ 0:16:02.086,0:16:03.088 ตอนนี้เราได้รับการทำ 0:16:03.088,0:16:05.014 ข้อผิดพลาดและเหตุผลคือ 0:16:05.014,0:16:06.024 ที่เราบอกว่าเราต้องการ 0:16:06.024,0:16:10.046 ระหว่างหนึ่งและสิบองค์ประกอบมากมายในกรณีของผู้เขียน 0:16:10.046,0:16:12.002 ตอนนี้ขอแก้ไขว่า 0:16:12.002,0:16:13.054 โดยการวางผู้เขียนของเรากลับมาไม่ได้ 0:16:13.054,0:16:14.091 แต่ขอบอกว่าเราตัดสินใจจริง 0:16:14.091,0:16:17.063 เราต้องการที่จะสามารถที่จะมีหนังสือที่ไม่มีผู้เขียน 0:16:17.063,0:16:19.007 ดังนั้นเราก็สามารถแก้ไข 0:16:19.007,0:16:21.004 ว่าด้วยการเปลี่ยนแปลงขั้นต่ำที่ 0:16:21.004,0:16:23.004 รายการให้เป็นศูนย์และ 0:16:23.004,0:16:24.095 ทำให้ข้อมูลของเราที่ถูกต้องอีกครั้งและ 0:16:24.095,0:16:26.027 ในความเป็นจริงเราจริงอาจใช้เวลาที่ 0:16:26.027,0:16:28.047 ข้อ จำกัด ขั้นต่ำออกทั้งหมดเข้าด้วยกัน 0:16:28.047,0:16:32.082 และถ้าเราทำอย่างนั้นข้อมูลของเราจะยังคงสามารถใช้งานได้ 0:16:32.082,0:16:33.007 ตอนนี้ขอดูสิ่งที่เกิดขึ้นเมื่อเรา[br] 0:16:33.007,0:16:36.092 เพิ่มสิ่งที่ข้อมูลของเราที่ไม่ได้กล่าวถึงในคี 0:16:36.092,0:16:38.027 ถ้าคุณดูอย่างคุณจะเห็น 0:16:38.027,0:16:39.044 ทุกอย่างที่ว่าเรามี 0:16:39.044,0:16:42.021 ในข้อมูลเพื่อให้ห่างไกลได้รับการระบุไว้ในสคีมา 0:16:42.021,0:16:43.083 สมมติว่าเรามาพร้อม 0:16:43.083,0:16:46.033 และตัดสินใจก็จะยังมีการให้คะแนนสำหรับหนังสือของเรา 0:16:46.033,0:16:47.093 ดังนั้นขอเพิ่มที่นี่ 0:16:47.093,0:16:51.085 คุณสมบัติคะแนนฉลากที่มีมูลค่า 5 0:16:51.085,0:16:53.061 เราไปข้างหน้าและตรวจสอบคุณ 0:16:53.061,0:16:54.066 probaly คิดว่ามันไม่ได้ไป 0:16:54.066,0:16:57.036 ตรวจสอบความถูกต้อง แต่จริงๆแล้วมันไม่ได้ 0:16:57.036,0:16:59.027 ความหมายของ JSON 0:16:59.027,0:17:00.092 คีมาว่าจะสามารถ จำกัด สิ่งโดย 0:17:00.092,0:17:02.034 อธิบายให้พวกเขา แต่คุณ 0:17:02.034,0:17:04.008 ยังสามารถมีองค์ประกอบใน 0:17:04.008,0:17:06.007 ข้อมูลที่ไม่ได้อยู่ในสคีมานี้ 0:17:06.007,0:17:08.027 ถ้าเราต้องการที่จะยืนยัน 0:17:08.027,0:17:10.052 ว่าทรัพย์สินที่เป็นทุก 0:17:10.052,0:17:11.067 อยู่ในข้อมูลคือ 0:17:11.067,0:17:12.009 นอกจากนี้ยังได้อธิบายไว้ในนี้ 0:17:12.009,0:17:14.003 คีมาแล้วเราสามารถ 0:17:14.003,0:17:17.012 จริงเพิ่มข้อ จำกัด กับ schema ที่บอกเราว่า 0:17:17.012,0:17:20.074 โดยเฉพาะภายใต้วัตถุ 0:17:20.074,0:17:22.039 ที่นี่เราสามารถวางไว้ใน 0:17:22.039,0:17:24.009 ธงพิเศษที่ตัวเอง 0:17:24.009,0:17:27.008 มีการระบุเป็นป้ายที่เรียกว่าคุณสมบัติเพิ่มเติม 0:17:27.008,0:17:29.025 และธงนี้ถ้าเรา 0:17:29.025,0:17:31.043 ตั้งค่าให้เป็นเท็จและจำ 0:17:31.043,0:17:32.096 เท็จเป็นจริงคำหลัก 0:17:32.096,0:17:34.052 ใน schema ของ JSON บอกเรา 0:17:34.052,0:17:36.016 ว่าในข้อมูลของเราเราไม่ได้ 0:17:36.016,0:17:37.077 อนุญาตให้มีคุณสมบัติใด ๆ 0:17:37.077,0:17:40.049 นอกเหนือไปจากที่ที่ระบุไว้ในสคีมา 0:17:40.049,0:17:41.093 ดังนั้นตอนนี้เราตรวจสอบและเรา 0:17:41.093,0:17:43.064 รับข้อผิดพลาดเพราะทรัพย์สิน 0:17:43.064,0:17:46.018 คะแนนยังไม่ได้รับการกำหนดไว้ในคี 0:17:46.018,0:17:48.046 หากคุณสมบัติเพิ่มเติมจะหายไป 0:17:48.046,0:17:50.019 หรือมีค่าเริ่มต้น 0:17:50.019,0:17:53.083 ของ "ความจริง" จากนั้นการตรวจสอบผ่านไป 0:17:53.083,0:17:56.096 ตอนนี้ให้ดูที่ผู้เขียนของเราที่ยังคงอยู่ที่นี่ 0:17:56.096,0:17:58.005 สมมติว่าเราทำไม่ได้ 0:17:58.005,0:18:01.053 มีชื่อเป็นครั้งแรกสำหรับผู้เขียนตรงกลางของเราที่นี่ 0:18:01.053,0:18:02.088 ถ้าเราใช้เวลาที่ออกไปและ 0:18:02.088,0:18:04.062 เราพยายามที่จะตรวจสอบที่เราทำ 0:18:04.062,0:18:06.065 รับข้อผิดพลาดเพราะเราระบุ[br] 0:18:06.065,0:18:08.044 ใน schema ของเราและมันเหมาะสม 0:18:08.044,0:18:11.081 ลงที่นี่ - ที่ผู้เขียนวัตถุต้อง 0:18:11.081,0:18:14.075 มีทั้งชื่อและนามสกุล 0:18:14.075,0:18:16.029 แต่กลับกลายเป็นว่าเราสามารถทำได้ 0:18:16.029,0:18:20.021 ระบุสำหรับคุณสมบัติที่ว่าทรัพย์สินที่เป็นตัวเลือกทุก 0:18:20.021,0:18:21.083 ดังนั้นเราสามารถเพิ่ม 0:18:21.083,0:18:23.041 คำอธิบายแรก 0:18:23.041,0:18:24.059 ชื่อไม่เพียงว่า 0:18:24.059,0:18:26.044 ชนิดเป็นสตริง แต่ที่ว่า 0:18:26.044,0:18:27.084 คุณสมบัติเป็นตัวเลือกเพื่อให้เรา 0:18:27.084,0:18:31.021 บอกว่าเป็นตัวเลือกที่แท้จริง 0:18:31.021,0:18:34.038 ตอนนี้ขอตรวจสอบและตอนนี้เรากำลังอยู่ในรูปร่างที่ดี 0:18:34.038,0:18:35.018 ตอนนี้ขอใช้เวลาดู 0:18:35.018,0:18:36.007 สิ่งที่เกิดขึ้นเมื่อเรามี 0:18:36.007,0:18:37.093 วัตถุที่มีมากกว่า 0:18:37.093,0:18:41.022 หนึ่งตัวอย่างของป้ายกำกับเดียวกันหรือคุณสมบัติเดียวกัน 0:18:41.022,0:18:43.016 ดังนั้นขอให้คิดว่าตัวอย่างเช่นใน 0:18:43.016,0:18:45.019 นิตยสารของเรานิตยสาร 0:18:45.019,0:18:46.056 มีสองแตกต่างกันปี 2009 และ 2011 0:18:46.056,0:18:52.037 มีสองแตกต่างกันปี 2009 และ 2011 0:18:52.037,0:18:55.077 มันเป็นไปตามโครงสร้างของการมีรายชื่อของคู่ป้ายที่มีมูลค่าการ 0:18:55.077,0:18:57.016 เมื่อเราตรวจสอบมันเรา 0:18:57.016,0:19:00.019 เห็นว่าเราไม่สามารถเพิ่มคุณสมบัติสองปี 0:19:00.019,0:19:02.073 ดังนั้นตรวจสอบนี้ไม่อนุญาตให้ 0:19:02.073,0:19:04.013 สองฉบับเดียวกัน 0:19:04.013,0:19:05.089 ทรัพย์สินและมันเป็นจริงชนิด 0:19:05.089,0:19:07.018 ในสิ่งที่แยกไม่ได้ 0:19:07.018,0:19:09.003 มากที่เกี่ยวข้องกับสคี JSON ของ 0:19:09.003,0:19:12.054 parsers หลายจริงไม่บังคับใช้ 0:19:12.054,0:19:14.015 ที่ฉลากหรือคุณสมบัติต้อง 0:19:14.015,0:19:15.072 จะไม่ซ้ำกันภายในวัตถุแม้ 0:19:15.072,0:19:18.003 แม้ว่าในทางเทคนิคที่ถูกต้องไวยากรณ์ 0:19:18.003,0:19:20.002 JSON ไม่อนุญาตให้หลายสำเนา 0:19:20.002,0:19:22.034 เพื่อให้เป็นเพียงแค่บางสิ่งบางอย่างที่จะจำ 0:19:22.034,0:19:23.092 การใช้งานทั่วไปของวัตถุที่เป็น 0:19:23.092,0:19:26.017 จะมีป้ายชื่อที่ไม่ซ้ำกันในบางครั้ง 0:19:26.017,0:19:30.004 แม้จะเรียกว่ากุญแจที่กระตุ้นความคิดของพวกเขาที่ไม่ซ้ำกัน 0:19:30.004,0:19:32.002 ดังนั้นโดยทั่วไปแล้วพวกเขาจะไม่ซ้ำกัน 0:19:32.002,0:19:34.021 พวกเขาไม่ได้จะต้องมีความถูกต้องของประโยค 0:19:34.021,0:19:35.047 โดยปกติเมื่อคุณอยากจะมี 0:19:35.047,0:19:39.044 ค่าซ้ำแล้วซ้ำอีกก็จริงทำให้รู้สึกมากขึ้นเพื่อสร้างอาร์เรย์ 0:19:39.044,0:19:41.084 ผมเคยนำออกไปปีที่สองในการที่จะทำให้ JSON ที่ถูกต้องอีกครั้ง 0:19:41.084,0:19:44.067 ตอนนี้ลองมาดูที่เดือน 0:19:44.067,0:19:46.065 ผมเคยใช้เดือนเพื่อแสดงให้เห็นถึง 0:19:46.065,0:19:48.087 ข้อ จำกัด การแจงนับเพื่อให้เรา 0:19:48.087,0:19:50.006 เห็นว่าเราจะได้เป็นการบังคับ 0:19:50.006,0:19:52.018 ค่าของจำนวนเต็มและเรา 0:19:52.018,0:19:54.006 เห็นว่าเราสามารถ จำกัด สตริง 0:19:54.006,0:19:55.054 โดยใช้รูปแบบ แต่เราสามารถ 0:19:55.054,0:19:57.004 ยัง จำกัด ประเภทใด ๆ โดย 0:19:57.004,0:19:59.034 แจงค่าที่จะได้รับอนุญาต 0:19:59.034,0:20:00.085 ดังนั้นสำหรับเดือนเราได้ตั้งค่า[br] 0:20:00.085,0:20:02.019 มันประเภทสตริงที่มัน 0:20:02.019,0:20:03.083 เป็น แต่เรามีข้อ จำกัด เพิ่มเติมมัน 0:20:03.083,0:20:05.093 โดยกล่าวว่าสตริงที่จะต้อง 0:20:05.093,0:20:08.002 อย่างใดอย่างหนึ่งหรือกุมภาพันธ์ 0:20:08.002,0:20:09.004 ดังนั้นถ้าเราพยายามที่จะพูด 0:20:09.004,0:20:14.053 ใส่ในสตริงเดือนมีนาคมเรา 0:20:14.053,0:20:17.034 ตรวจสอบและเราได้รับข้อผิดพลาดที่เห็นได้ชัดที่นี่ 0:20:17.034,0:20:18.065 เราสามารถแก้ไขปัญหาที่โดยการเปลี่ยน 0:20:18.065,0:20:19.089 เดือนกลับ แต่บางทีมันอาจจะ 0:20:19.089,0:20:21.026 ทำให้รู้สึกมากขึ้นว่าเดือนมีนาคม 0:20:21.026,0:20:23.001 จะเป็นส่วนหนึ่งของการแจงนับชนิดของเรา 0:20:23.001,0:20:24.031 ดังนั้นเราจะเพิ่มมีนาคม 0:20:24.031,0:20:27.063 ค่าที่เป็นไปได้สำหรับเดือนและตอนนี้เรากำลังดี 0:20:27.063,0:20:28.086 เป็นตัวอย่างต่อไปลองมา 0:20:28.086,0:20:30.008 ดูที่สิ่งที่เรา 0:20:30.008,0:20:31.094 เห็นก็ แต่ syntac ที่ถูกต้อง 0:20:31.094,0:20:33.062 จะไม่เป็นความหมาย 0:20:33.062,0:20:34.086 ที่ถูกต้องซึ่งเมื่อ 0:20:34.086,0:20:36.056 เรามีรายชื่อผู้เขียน 0:20:36.056,0:20:39.093 เป็นส่วนผสมของวัตถุและสตริง 0:20:39.093,0:20:43.051 ดังนั้นขอใส่เจฟฟรีย์ Ullman นี่เพียงเป็นสตริง 0:20:43.051,0:20:44.073 เราเห็นว่ายังคงอยู่ 0:20:44.073,0:20:46.014 JSON ที่ถูกต้อง แต่เมื่อเรา 0:20:46.014,0:20:47.069 พยายามตรวจสอบตอนนี้เรากำลัง gonna 0:20:47.069,0:20:49.077 รับข้อผิดพลาดเพราะเราคาดว่า 0:20:49.077,0:20:50.088 เพื่อดูวัตถุที่เรามี 0:20:50.088,0:20:52.029 ที่ระบุว่าผู้เขียน 0:20:52.029,0:20:54.097 เป็นวัตถุและแทนเราได้สตริง 0:20:54.097,0:20:56.095 ตอนนี้สคี JSON ไม่อนุญาตให้ 0:20:56.095,0:20:58.068 เราสามารถระบุได้ว่าเรา 0:20:58.068,0:21:00.099 สามารถมีประเภทที่แตกต่างกันของข้อมูล 0:21:00.099,0:21:02.059 ในบริบทเดียวกันและฉัน 0:21:02.059,0:21:05.022 จะแสดงให้เห็นว่ามีนิด ๆ หน่อย ๆ เป็นตัวอย่างที่ง่ายที่นี่ 0:21:05.022,0:21:06.062 ดังนั้นขอนำมาใช้เป็นครั้งแรกของเรา 0:21:06.062,0:21:09.093 ผู้เขียนมีเพื่อที่เราจะกลับมาพร้อมกับไฟล์ที่ถูกต้อง 0:21:09.093,0:21:13.027 และสิ่งที่ผมกำลังจะไปดูที่เป็นเพียงค่าปี 0:21:13.027,0:21:15.029 ดังนั้นขอสมมติว่าสำหรับสิ่งที่ 0:21:15.029,0:21:16.054 ด้วยเหตุผลที่ว่าในของเรา 0:21:16.054,0:21:17.083 นิตยสารซึ่งเป็นหนึ่งใน 0:21:17.083,0:21:21.019 ปีที่ผ่านมาสตริงและปีอื่น ๆ ที่เป็นจำนวนเต็ม 0:21:21.019,0:21:22.036 ดังนั้นที่ไม่ gonna ผลงานออกมา 0:21:22.036,0:21:23.064 ในขณะนี้เพราะเรามี 0:21:23.064,0:21:27.012 ที่ระบุไว้อย่างชัดเจนว่าปีต้องเป็นจำนวนเต็ม 0:21:27.012,0:21:29.034 ในรายละเอียดที่สคี JSON เมื่อเรา 0:21:29.034,0:21:31.037 ต้องการให้หลายประเภท 0:21:31.037,0:21:32.081 สำหรับค่าที่ 0:21:32.081,0:21:34.064 ใช้ในบริบทเดียวกันเรา 0:21:34.064,0:21:36.055 จริงให้ชนิดเป็นอาร์เรย์ 0:21:36.055,0:21:37.075 ดังนั้นแทนที่จะเพียง แต่พูดว่า 0:21:37.075,0:21:38.098 จำนวนเต็มถ้าเราใส่ 0:21:38.098,0:21:40.054 อาร์เรย์ที่นี่ที่มี 0:21:40.054,0:21:42.087 ทั้งจำนวนเต็มและสตริงที่ 0:21:42.087,0:21:43.098 บอกเราว่าปีของเรา 0:21:43.098,0:21:45.011 คุ้มค่าสามารถเป็นได้ทั้ง 0:21:45.011,0:21:46.011 จำนวนเต็มหรือสตริง 0:21:46.011,0:21:48.005 และตอนนี้เมื่อเราตรวจสอบ 0:21:48.005,0:21:50.023 เราได้รับไฟล์ JSON ที่ถูกต้อง 0:21:50.023,0:21:53.072 สรุปว่าการสาธิตการตรวจสอบสคี JSON ของเรา 0:21:53.072,0:21:54.087 อีกครั้งที่เราได้เห็นเพียงแค่ 0:21:54.087,0:21:56.073 ตัวอย่างหนึ่งที่มีจำนวน 0:21:56.073,0:21:58.025 ของโครงสร้างที่มีอยู่ 0:21:58.025,0:21:59.074 ใน schema JSON แต่มันก็ไม่ได้ 0:21:59.074,0:22:01.025 เกือบครบถ้วนสมบูรณ์มีจำนวนมาก 0:22:01.025,0:22:02.097 คนอื่น ๆ และผมแนะนำให้คุณ 0:22:02.097,0:22:04.081 อ่านอีกเล็กน้อยเกี่ยวกับมัน 0:22:04.081,0:22:06.036 คุณสามารถดาวน์โหลดข้อมูลนี้และ 0:22:06.036,0:22:07.083 คีมานี้ขณะที่เริ่มต้น 0:22:07.083,0:22:09.056 จุดเริ่มต้นการเพิ่มและสิ่งที่เล่นรอบ 0:22:09.056,0:22:10.044 และฉันคิดว่าคุณจะได้รับ 0:22:10.044,0:22:12.018 ความรู้สึกที่ดีสำหรับวิธี JSON 0:22:12.018,0:22:13.035 คีมาสามารถใช้ในการ 0:22:13.035,0:22:15.745 จำกัด ข้อมูลที่อนุญาตในแฟ้ม JSON