- docx (मायक्रोसॉफ्ट वर्ड फॉरमॅट);
- pdf (Adobe format);
- mobi (सामान्यतः Amazon Kindle उपकरणांवर वापरले जाते);
- आणि बरेच काही (ePub, djvu, fb2, इ.).
JSON
JavaScript ऑब्जेक्ट नोटेशन. तुम्हाला या फॉरमॅटबद्दल थोडी माहिती आधीच आहे! आम्ही या धड्यात याबद्दल बोललो , आणि आम्ही येथे JSON मध्ये अनुक्रमिकरण समाविष्ट केले . त्याचे नाव एका कारणाने मिळाले. JSON मध्ये रूपांतरित केलेले Java ऑब्जेक्ट प्रत्यक्षात JavaScript मधील ऑब्जेक्ट्ससारखे दिसतात. आमचे ऑब्जेक्ट समजून घेण्यासाठी तुम्हाला JavaScript माहित असणे आवश्यक नाही:
{
"title": "War and Peace",
"author": "Lev Tolstoy",
"year": 1869
}
आम्ही एकच ऑब्जेक्ट पाठवण्यापुरते मर्यादित नाही. JSON स्वरूप ऑब्जेक्ट्सच्या अॅरेचे देखील प्रतिनिधित्व करू शकते:
[
{
"title": "War and Peace",
"author": "Lev Tolstoy",
"year": 1869
},
{
"title": "Demons",
"author": "Fyodor Dostoyevsky",
"year": 1872
},
{
"title": "The Seagull",
"author": "Anton Chekhov",
"year": 1896
}
]
JSON JavaScript ऑब्जेक्ट्सचे प्रतिनिधित्व करत असल्यामुळे, ते खालील JavaScript डेटा फॉरमॅटला सपोर्ट करते:
- तार
- संख्या;
- वस्तू;
- अॅरे;
- बूलियन्स (खरे आणि खोटे);
- निरर्थक.
-
मानवी-वाचनीय स्वरूप. तुमचा अंतिम वापरकर्ता मानव असल्यास हा एक स्पष्ट फायदा आहे. उदाहरणार्थ, समजा तुमच्या सर्व्हरकडे फ्लाइट्सच्या वेळापत्रकासह डेटाबेस आहे. एक मानवी ग्राहक, त्याच्या संगणकावर घरी बसून, वेब अनुप्रयोग वापरून या डेटाबेसमधून डेटाची विनंती करतो. तो समजू शकेल अशा फॉरमॅटमध्ये तुम्हाला डेटा प्रदान करणे आवश्यक असल्यामुळे, JSON हा एक उत्तम उपाय आहे.
-
साधेपणा. हे अगदी सोपे आहे :) वर, आम्ही दोन JSON फाइल्सचे उदाहरण दिले. आणि जरी तुम्ही JavaScript बद्दल ऐकले नसेल (जावास्क्रिप्ट ऑब्जेक्ट्स सोडा), तुम्ही तिथे वर्णन केलेल्या ऑब्जेक्ट्सची क्रमवारी सहज समजू शकता.
संपूर्ण JSON दस्तऐवजीकरणामध्ये दोन चित्रांसह वेबपृष्ठ असते. -
व्यापक वापर. JavaScript ही प्रमुख फ्रंट-एंड भाषा आहे आणि तिच्या स्वतःच्या आवश्यकता आहेत. JSON वापरणे आवश्यक आहे. म्हणून, मोठ्या संख्येने वेब सेवा JSON डेटा एक्सचेंज फॉरमॅट म्हणून वापरतात. प्रत्येक आधुनिक IDE JSON स्वरूपना (IntelliJ IDEA सह) समर्थन देते. JSON सह कार्य करण्यास सक्षम करण्यासाठी सर्व प्रकारच्या प्रोग्रामिंग भाषांसाठी लायब्ररींचा समूह लिहिला गेला आहे.
YAML
सुरुवातीला, YAML "अद्याप आणखी एक मार्कअप भाषा" साठी उभा होता. जेव्हा ते सुरू झाले, तेव्हा ते XML चे प्रतिस्पर्धी म्हणून स्थानबद्ध होते. आता, कालांतराने, YAML चा अर्थ "YAML मार्कअप भाषा नाही" असा झाला आहे. ते नक्की काय आहे? चला कल्पना करूया की संगणक गेममधील पात्रांचे प्रतिनिधित्व करण्यासाठी आपल्याला 3 वर्ग तयार करावे लागतील: योद्धा, दादागिरी आणि चोर. त्यांच्यात खालील वैशिष्ट्ये असतील: सामर्थ्य, चपळता, सहनशक्ती, शस्त्रांचा संच. आमच्या वर्गांचे वर्णन करणारी YAML फाइल कशी दिसेल ते येथे आहे:
classes:
class-1:
title: Warrior
power: 8
agility: 4
stamina: 7
weapons:
- sword
- spear
class-2:
title: Mage
power: 5
agility: 7
stamina: 5
weapons:
- magic staff
class-3:
title: Thief
power: 6
agility: 6
stamina: 5
weapons:
- dagger
- poison
YAML फाइलमध्ये झाडाची रचना असते: काही घटक इतरांमध्ये नेस्ट केलेले असतात. आम्ही विशिष्ट संख्येच्या मोकळ्या जागा वापरून घरटे नियंत्रित करू शकतो, ज्याचा वापर आम्ही प्रत्येक स्तर दर्शविण्यासाठी करतो. YAML स्वरूपाचे फायदे काय आहेत?
-
मानवी वाचनीय. पुन्हा, वर्णनाशिवाय YAML फाईल पाहिल्यास, आपण वर्णन केलेल्या वस्तू सहजपणे समजू शकता. YAML इतकी मानवी वाचनीय आहे की वेबसाइट yaml.org ही एक सामान्य YAML फाइल आहे :)
-
कॉम्पॅक्टनेस. फाईल स्ट्रक्चर स्पेस वापरून तयार केले आहे: कंस किंवा अवतरण चिन्ह वापरण्याची आवश्यकता नाही.
-
प्रोग्रामिंग भाषांसाठी मूळ डेटा स्ट्रक्चर्ससाठी समर्थन. JSON आणि इतर अनेक फॉरमॅटवर YAML चा मोठा फायदा म्हणजे तो विविध डेटा स्ट्रक्चर्सला सपोर्ट करतो. ते समाविष्ट आहेत:
-
!!नकाशा
मुख्य-मूल्य जोड्यांचा एक अक्रमित संच ज्यात डुप्लिकेट असू शकत नाहीत; -
!!omap की
-व्हॅल्यू जोड्यांचा क्रमबद्ध क्रम ज्यात डुप्लिकेट असू शकत नाहीत; -
!!जोड्या:
की-व्हॅल्यू जोड्यांचा क्रमबद्ध क्रम ज्यामध्ये डुप्लिकेट असू शकतात; - !!
एकमेकांच्या समान नसलेल्या मूल्यांचा अक्रमित क्रम सेट करा; - !!seq
अनियंत्रित मूल्यांचा क्रम;
यापैकी काही रचना तुम्ही Java वरून ओळखू शकाल! :) याचा अर्थ प्रोग्रामिंग भाषांमधील विविध डेटा स्ट्रक्चर्स YAML मध्ये अनुक्रमित केल्या जाऊ शकतात.
-
-
अँकर आणि उपनाम वापरण्याची क्षमता
हे मार्कर तुम्हाला YAML फाइलमधील काही घटक ओळखण्याची परवानगी देतात आणि नंतर ते वारंवार येत असल्यास उर्वरित फाइलमध्ये त्याचा संदर्भ घ्या. & हे चिन्ह वापरून अँकर तयार केला जातो आणि उपनाव * वापरून तयार केला जातो .
समजा आमच्याकडे लिओ टॉल्स्टॉयच्या पुस्तकांचे वर्णन करणारी फाइल आहे. प्रत्येक पुस्तकासाठी लेखकाचे नाव लिहू नये म्हणून, आम्ही फक्त लिओ अँकर तयार करतो आणि जेव्हा गरज असेल तेव्हा उपनाव वापरून त्याचा संदर्भ देतो:
books: book-1: title: War and Peace author: &leo Leo Tolstoy year: 1869 book-2: title: Anna Karenina author: *leo year: 1873 book-3: title: Family Happiness author: *leo year: 1859
जेव्हा ही फाईल पार्स केली जाते, तेव्हा "लिओ टॉल्स्टॉय" हे मूल्य योग्य ठिकाणी बदलले जाते जेथे आमचे उपनावे आहेत.
- YAML इतर फॉरमॅटमध्ये डेटा एम्बेड करू शकते. उदाहरणार्थ, JSON:
books: [ { "title": "War and Peace", "author": "Leo Tolstoy", "year": 1869 }, { "title": "Anna Karenina", "author": "Leo Tolstoy", "year": 1873 }, { "title": "Family Happiness", "author": "Leo Tolstoy", "year": 1859 } ]
इतर क्रमिक स्वरूप
XML
हे स्वरूप टॅग ट्रीवर आधारित आहे.
<book>
<title>Harry Potter and the Philosopher’s Stone</title>
<author>J. K. Rowling</author>
<year>1997</year>
</book>
प्रत्येक घटकामध्ये ओपनिंग आणि क्लोजिंग टॅग (<> आणि </>) असतात. प्रत्येक घटकामध्ये नेस्टेड घटक असू शकतात. XML हे एक सामान्य स्वरूप आहे जे JSON आणि YAML सारखेच चांगले आहे (जर आपण वास्तविक प्रकल्पांबद्दल बोलत आहोत). आमच्याकडे XML बद्दल वेगळा धडा आहे .
BSON (बायनरी JSON)
त्याच्या नावाप्रमाणे, BSON हे JSON सारखेच आहे, परंतु ते मानवी वाचनीय नाही आणि बायनरी डेटा वापरते. परिणामी, प्रतिमा आणि इतर संलग्नक संचयित आणि हस्तांतरित करण्यासाठी ते खूप चांगले आहे. याव्यतिरिक्त, BSON JSON मध्ये उपलब्ध नसलेल्या काही डेटा प्रकारांना समर्थन देते. उदाहरणार्थ, BSON फाईलमध्ये तारीख (मिलिसेकंद स्वरूपात) किंवा JavaScript कोडचा एक भाग देखील असू शकतो. लोकप्रिय MongoDB NoSQL डेटाबेस BSON फॉरमॅटमध्ये माहिती साठवतो.स्थिती-आधारित प्रोटोकॉल
काही परिस्थितींमध्ये, आम्हाला पाठवलेल्या डेटाचे प्रमाण कमी करणे आवश्यक आहे (उदाहरणार्थ, आमच्याकडे भरपूर डेटा असल्यास आणि लोड कमी करणे आवश्यक असल्यास). या परिस्थितीत, आम्ही स्थिती-आधारित प्रोटोकॉल वापरू शकतो, म्हणजे, पॅरामीटर्सच्या नावांशिवाय पॅरामीटर मूल्ये पाठवू शकतो.
"Leo Tolstoy" | "Anna Karenina" | 1873
या फॉरमॅटमधील डेटा पूर्ण JSON फाइलपेक्षा कित्येक पट कमी जागा घेतो. अर्थात, इतर अनुक्रमिक स्वरूपे आहेत, परंतु तुम्हाला आत्ता ते सर्व माहित असणे आवश्यक नाही :) अनुप्रयोग विकसित करताना तुम्ही सध्याच्या उद्योग मानक स्वरूपांशी परिचित असाल आणि त्यांचे फायदे आणि ते एकापेक्षा कसे वेगळे आहेत हे लक्षात ठेवले तर चांगले आहे. दुसरा आणि यासह, आमचा धडा संपतो :) आज काही कार्ये सोडवण्यास विसरू नका! पुढच्या वेळे पर्यंत! :)
GO TO FULL VERSION