ការណែនាំអំពីគ្រោងការណ៍ JSON
មុនពេលយើងចូលទៅក្នុង JSON Schema វាជារឿងសំខាន់ដែលត្រូវដឹងពីភាពខុសគ្នារវាង JSON និង JSON Schema។
JSON
JSON គឺខ្លីសម្រាប់ JavaScript Object Notation ហើយវាជាទម្រង់ទិន្នន័យឯករាជ្យភាសាដែល APIs ប្រើដើម្បីផ្ញើសំណើ និងចម្លើយ។ JSON គឺសាមញ្ញក្នុងការអាន និងសរសេរសម្រាប់មនុស្ស និងម៉ាស៊ីនដូចគ្នា។ JSON គឺជាទម្រង់អត្ថបទដែលមិនត្រូវបានចងភ្ជាប់នឹងភាសា (ភាសាឯករាជ្យ)។
គ្រោងការណ៍ JSON
JSON Schema គឺជាឧបករណ៍មានប្រយោជន៍សម្រាប់ផ្ទៀងផ្ទាត់រចនាសម្ព័ន្ធទិន្នន័យ JSON ។ ដើម្បីបញ្ជាក់រចនាសម្ព័ន្ធរបស់ JSON សូមប្រើទម្រង់ដែលមានមូលដ្ឋានលើ JSON ។ គោលបំណងរបស់វាគឺដើម្បីធានាថាទិន្នន័យ JSON អាចទទួលយកបាន។ អនុសញ្ញាសម្រាប់ទិន្នន័យ JSON របស់កម្មវិធីរបស់យើងអាចត្រូវបានកំណត់ដោយប្រើគ្រោងការណ៍។
មានផ្នែកសំខាន់ៗចំនួនបីចំពោះការបញ្ជាក់របស់ JSON Schema៖
JSON Hyper-Schema៖
JSON Hyper-Schema គឺជាភាសា JSON Schema ដែលអាចត្រូវបានប្រើដើម្បីដាក់ស្លាកឯកសារ JSON ជាមួយនឹងតំណខ្ពស់ និងការណែនាំសម្រាប់ដំណើរការ និងផ្លាស់ប្តូរធនធាន JSON ខាងក្រៅតាមរយៈអត្ថបទ – បរិស្ថានផ្អែកលើ HTTP ជាដើម។ ចុច នៅទីនេះ ដើម្បីស្វែងយល់បន្ថែមអំពី JSON Hyper-Schema ។
ស្នូលគ្រោងការណ៍ JSON៖
វាគឺជាសំណុំនៃច្បាប់សម្រាប់ការដាក់ស្លាក និងធ្វើឱ្យឯកសារ JSON ត្រឹមត្រូវ។
ស្នូលគ្រោងការណ៍ JSON៖
- ពិពណ៌នាអំពីទម្រង់ទិន្នន័យដែលអ្នកមានបច្ចុប្បន្ន។
- ធ្វើឱ្យមានសុពលភាពទិន្នន័យដែលអាចប្រើក្នុងការធ្វើតេស្តស្វ័យប្រវត្តិ។
- ការធានានូវភាពត្រឹមត្រូវនៃទិន្នន័យដែលផ្តល់ដោយអតិថិជន។
- ផ្តល់ឯកសារដែលអាចអានបានសម្រាប់ទាំងមនុស្ស និងម៉ាស៊ីន។
ការផ្ទៀងផ្ទាត់គ្រោងការណ៍ JSON៖
សុពលភាពផ្អែកលើ JSON Schema ដាក់កម្រិតលើរចនាសម្ព័ន្ធទិន្នន័យវត្ថុ។ បន្ទាប់ពីនោះ ពាក្យគន្លឹះណាមួយដែលមិនមានការអះអាង ពដូចជា ទិន្នន័យមេតាពិពណ៌នា និងការចង្អុលបង្ហាញការប្រើប្រាស់ ត្រូវបានបន្ថែមទៅទីតាំងវត្ថុដែលបំពេញតាមកម្រិតដែលបានប្រកាសទាំងអស់។
ឧបករណ៍ Validator JSON របស់ Newtonsoft គឺជាឧបករណ៍ដែលអ្នកអាចប្រើដោយផ្ទាល់នៅក្នុងកម្មវិធីរុករករបស់អ្នកដោយមិនគិតថ្លៃ។ អ្នកអាចប្រើឧបករណ៍នេះដើម្បីសាកល្បងរចនាសម្ព័ន្ធនៃគ្រោងការណ៍ JSON របស់អ្នក។ ទំព័រនេះមានការគ្រប់គ្រង និងការពន្យល់ ដើម្បីឲ្យអ្នកចាប់ផ្តើម។ វិធីនោះ វាងាយស្រួលមើលពីរបៀបកែលម្អរចនាសម្ព័ន្ធ JSON របស់អ្នក។
យើងអាចពិនិត្យមើលវត្ថុ JSON របស់យើងដោយប្រើឧបករណ៍ផ្ទៀងផ្ទាត់ JSON Schema៖
យើងមានសុពលភាពអាយុ (អប្បបរមា = 20 និងអតិបរមា = 40) ដូចបង្ហាញក្នុងរូបភាពខាងលើ។ រកមិនឃើញមានកំហុសទេ។
វាបង្ហាញកំហុសប្រសិនបើការបញ្ជាក់អាយុត្រូវបានបញ្ចូលមិនត្រឹមត្រូវ។
ការបង្កើតគ្រោងការណ៍ JSON
សូមក្រឡេកមើលឧទាហរណ៍នៃ JSON Schema ដើម្បីមើលអ្វីដែលយើងកំពុងនិយាយអំពី។ វត្ថុ JSON មូលដ្ឋានដែលពិពណ៌នាអំពីកាតាឡុកផលិតផលមានដូចខាងក្រោម៖
គ្រោងការណ៍ JSON របស់វាអាចត្រូវបានសរសេរដូចខាងក្រោម:
គ្រោងការណ៍ JSON គឺជាឯកសារ JSON ហើយឯកសារនោះត្រូវតែជាវត្ថុមួយ។ ពាក្យគន្លឹះគឺជាសមាជិក/គុណលក្ខណៈវត្ថុដែលបានបញ្ជាក់ដោយ JSON Schema។ "ពាក្យគន្លឹះ" នៅក្នុង JSON Schema សំដៅលើផ្នែក "គន្លឹះ" នៃបន្សំគ្រាប់ចុច/តម្លៃនៅក្នុងវត្ថុមួយ។ ការសរសេរគ្រោងការណ៍ JSON ពាក់ព័ន្ធនឹងការគូសផែនទី "ពាក្យគន្លឹះ" ជាក់លាក់មួយទៅនឹងតម្លៃនៅក្នុងវត្ថុមួយសម្រាប់ផ្នែកភាគច្រើន។
ចូរយើងពិនិត្យមើលកាន់តែដិតដល់នូវពាក្យគន្លឹះដែលយើងបានប្រើក្នុងឧទាហរណ៍របស់យើង៖
គ្រោងការណ៍ JSON ដែលគ្រោងការណ៍របស់ធនធានអនុលោមតាមត្រូវបានសរសេរដោយគុណលក្ខណៈនេះ។ គ្រោងការណ៍នេះត្រូវបានសរសេរតាមស្តង់ដារសេចក្តីព្រាង v4 ដែលបានបញ្ជាក់ដោយ "គ្រោងការណ៍ $"ពាក្យគន្លឹះ។ វារារាំងគ្រោងការណ៍របស់អ្នកពីការធ្លាក់ត្រលប់ទៅកំណែបច្ចុប្បន្ន ដែលអាចឬមិនអាចត្រូវគ្នាជាមួយចាស់។
"ពានរង្វាន់"និង"បរិយាយ” ពាក្យគន្លឹះគ្រាន់តែជាការពន្យល់។ ពួកគេមិនដាក់កម្រិតលើទិន្នន័យដែលកំពុងត្រួតពិនិត្យនោះទេ។ ពាក្យគន្លឹះទាំងពីរនេះពិពណ៌នាអំពីគោលបំណងរបស់គ្រោងការណ៍៖ វាពិពណ៌នាអំពីផលិតផលមួយ។
"ប្រភេទ” ពាក្យគន្លឹះកំណត់លក្ខខណ្ឌព្រំដែនដំបូងនៃទិន្នន័យ JSON របស់យើង; វាត្រូវតែជាវត្ថុ JSON ។ ប្រសិនបើយើងមិនកំណត់ប្រភេទសម្រាប់គ្រោងការណ៍ទាំងអស់ទេ កូដនឹងមិនដំណើរការទេ។ ប្រភេទទូទៅមួយចំនួនគឺ "លេខ" "ប៊ូលីន" "ចំនួនគត់" "ទទេ" "វត្ថុ" "អារេ" "ខ្សែអក្សរ" ។
JSON Schema ត្រូវបានគាំទ្រដោយបណ្ណាល័យខាងក្រោម៖
ភាសា | បណ្ណាល័យ |
C | WJElement |
ពស់ថ្លាន់ | jschon |
កម្មវិធី PHP | Opis Json Schema |
JavaScript | ajv |
Go | gojsonschema |
កូតូលីន | មេឌា-អ្នកបញ្ជាក់ |
Ruby ព្រម | JSONSchemer |
JSON (វាក្យសម្ព័ន្ធ)
តោះមើលវាក្យសម្ព័ន្ធមូលដ្ឋានរបស់ JSON បន្តិច។ វាក្យសម្ព័ន្ធ JSON គឺជាសំណុំរងនៃវាក្យសម្ព័ន្ធ JavaScript ដែលរួមបញ្ចូលធាតុដូចខាងក្រោមៈ
- ឈ្មោះ/តម្លៃគូត្រូវបានប្រើដែលតំណាងឱ្យទិន្នន័យ។
- វត្ថុត្រូវបានរក្សាទុកក្នុងដង្កៀបរាងកោង ហើយឈ្មោះនីមួយៗត្រូវបានដឹកនាំដោយ ':' (colon) ដោយមានគូតម្លៃបំបែកដោយ “,” (សញ្ញាក្បៀស)។
- តម្លៃត្រូវបានបំបែកដោយ "," (សញ្ញាក្បៀស) ហើយអារេត្រូវបានទុកក្នុងតង្កៀបការ៉េ។
រចនាសម្ព័ន្ធទិន្នន័យពីរខាងក្រោមត្រូវបានគាំទ្រដោយ JSON៖
- បញ្ជីតម្លៃដែលបានបញ្ជាទិញ៖ វាអាចជាអារេ បញ្ជី ឬវ៉ិចទ័រ។
- បណ្តុំនៃឈ្មោះ/តម្លៃគូ៖ ភាសាកុំព្យូទ័រផ្សេងៗគ្នាគាំទ្ររចនាសម្ព័ន្ធទិន្នន័យនេះ។
JSON (វត្ថុ)
គ្រោងការណ៍ JSON គឺជាវត្ថុ JSON ដែលរៀបរាប់អំពីប្រភេទ និងរចនាសម្ព័ន្ធនៃវត្ថុ JSON ផ្សេងគ្នា។ កន្សោមវត្ថុ JavaScript អាចតំណាងឱ្យវត្ថុ JSON នៅក្នុងបរិយាកាសដំណើរការ JavaScript ។ ឧទាហរណ៍មួយចំនួននៃវត្ថុគ្រោងការណ៍ត្រឹមត្រូវមានដូចខាងក្រោម៖
គម្រោង | ការប្រកួត |
{} | តម្លៃណាមួយ។ |
{ប្រភេទ៖ 'វត្ថុ'} | វត្ថុ JavaScript |
{ ប្រភេទ៖ 'លេខ'} | លេខ JavaScript |
{ ប្រភេទ៖ 'ខ្សែអក្សរ'} | ខ្សែអក្សរ JavaScript |
ឧ។
បង្កើតវត្ថុថ្មីដែលទទេ៖
var JSON_Obj = {};
ការបង្កើតវត្ថុថ្មី៖
var JSON_Obj = វត្ថុថ្មី()
JSON (ប្រៀបធៀបជាមួយ XML)
JSON និង XML គឺជាទម្រង់ភាសាដែលមនុស្សអាចអានបានដោយឯករាជ្យ។ នៅក្នុងសេណារីយ៉ូក្នុងពិភពពិត ពួកគេអាចបង្កើត អាន និងឌិកូដបាន។ ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យខាងក្រោម យើងអាចប្រៀបធៀប JSON ជាមួយ XML ។
ភាពស្មុគស្មាញ
ដោយសារតែ XML គឺស្មុគស្មាញជាង JSON អ្នកសរសេរកម្មវិធីចូលចិត្ត JSON ។
ការប្រើប្រាស់អារេ
XML ត្រូវបានប្រើដើម្បីបង្ហាញទិន្នន័យដែលមានរចនាសម្ព័ន្ធ។ ទោះយ៉ាងណាក៏ដោយ XML មិនគាំទ្រអារេទេ ប៉ុន្តែ JSON ធ្វើ។
ការញាស់
JSON ត្រូវបានបកស្រាយដោយប្រើមុខងារវាយតម្លៃរបស់ JavaScript។ eval ត្រឡប់វត្ថុដែលបានពិពណ៌នានៅពេលប្រើជាមួយ JSON ។
ឧទាហរណ៍:
JSON | XML មាន |
{ "ក្រុមហ៊ុន": Ferrari, "ឈ្មោះ": "GTS", "តម្លៃ": 404000 } |
ហ្វឺរ៉ារី
GTS
404000
|
គុណសម្បត្តិរបស់ JSON Schema
JSON ត្រូវបានរចនាឡើងដើម្បីបង្វែរជាភាសាដែលអាចអានបានដោយមនុស្ស និងម៉ាស៊ីន។ ទោះយ៉ាងណាក៏ដោយ បើគ្មានការកែតម្រូវខ្លះទេ វាមិនអាចទៅរួចនោះទេ។ JSON Schema មានអត្ថប្រយោជន៍ក្នុងការធ្វើឱ្យ JSON អាចយល់បានកាន់តែច្រើនសម្រាប់ទាំងម៉ាស៊ីន និងមនុស្ស។
ការប្រើប្រាស់ JSON Schema ក៏ដកចេញនូវតម្រូវការសម្រាប់ការអាប់ដេតផ្នែកអតិថិជនមួយចំនួនផងដែរ។ ការបង្កើតបញ្ជីកូដ HTML ទូទៅ ហើយបន្ទាប់មកអនុវត្តពួកវានៅខាងអតិថិជន គឺជាវិធីសាស្ត្រធម្មតា ប៉ុន្តែមិនត្រឹមត្រូវក្នុងការសាងសង់ផ្នែកខាងអតិថិជន ការ API កម្មវិធី។ ទោះជាយ៉ាងណាក៏ដោយ នេះមិនមែនជាយុទ្ធសាស្ត្រដ៏អស្ចារ្យបំផុតនោះទេ ពីព្រោះការផ្លាស់ប្តូរនៅផ្នែកខាងម៉ាស៊ីនមេអាចបណ្តាលឱ្យមុខងារមួយចំនួនដំណើរការខុសប្រក្រតី។
អត្ថប្រយោជន៍ចម្បងនៃ JSON Schema គឺភាពឆបគ្នារបស់វាជាមួយនឹងភាសាសរសេរកម្មវិធីជាច្រើន ក៏ដូចជាភាពត្រឹមត្រូវនិងភាពជាប់លាប់នៃសុពលភាព។
គ្រោងការណ៍ JSON គាំទ្រកម្មវិធីរុករកដ៏ធំទូលាយ និង ប្រព័ន្ធប្រតិបត្តិការដូច្នេះហើយ កម្មវិធីដែលសរសេរក្នុង JSON មិនចំណាយពេលច្រើនក្នុងការធ្វើឱ្យកម្មវិធីរុករកទាំងអស់ត្រូវគ្នានោះទេ។ កំឡុងពេលអភិវឌ្ឍន៍ អ្នកអភិវឌ្ឍន៍ពិចារណាលើកម្មវិធីរុករកតាមអ៊ីនធឺណិតជាច្រើន ទោះបីជា JSON មានសមត្ថភាពរួចហើយក៏ដោយ។
JSON គឺជាមធ្យោបាយដ៏មានប្រសិទ្ធភាពបំផុតក្នុងការចែករំលែកទិន្នន័យគ្រប់ទំហំ រួមទាំងអូឌីយ៉ូ វីដេអូ និងមេឌៀផ្សេងទៀត។ នេះគឺដោយសារតែការពិតដែលថា JSON រក្សាទុកទិន្នន័យនៅក្នុងអារេដែលធ្វើអោយការបញ្ជូនទិន្នន័យកាន់តែងាយស្រួល។ ជាលទ្ធផល JSON គឺជាទម្រង់ឯកសារដ៏ល្អបំផុតសម្រាប់ APIs អនឡាញ និងការអភិវឌ្ឍន៍។
នៅពេលដែល APIs រីកចម្រើនកាន់តែច្រើន វាជាឡូជីខលក្នុងការសន្មត់ថាសុពលភាព API និងការធ្វើតេស្តនឹងកាន់តែមានសារៈសំខាន់។ វាក៏ប្រាកដនិយមផងដែរក្នុងការរំពឹងថា JSON ទំនងជាមិនមានភាពសាមញ្ញជាងនេះទេ នៅពេលដែលពេលវេលាបន្តទៅមុខ។ នេះបញ្ជាក់ថាការមានគ្រោងការណ៍សម្រាប់ទិន្នន័យរបស់អ្នកនឹងកើនឡើងកាន់តែសំខាន់នៅពេលដែលពេលវេលាបន្តទៅមុខ។ ដោយសារតែ JSON គឺជាទម្រង់ឯកសារស្តង់ដារសម្រាប់ធ្វើការជាមួយ APIs នោះ JSON Schema គឺជាការជំនួសដ៏ល្អសម្រាប់អ្នកដែលធ្វើការជាមួយ APIs។