- docx (మైక్రోసాఫ్ట్ వర్డ్ ఫార్మాట్);
- pdf (Adobe ఫార్మాట్);
- mobi (సాధారణంగా Amazon Kindle పరికరాలలో ఉపయోగిస్తారు);
- మరియు మరిన్ని (ePub, djvu, fb2, మొదలైనవి).
JSON
జావాస్క్రిప్ట్ ఆబ్జెక్ట్ సంజ్ఞామానం. ఈ ఫార్మాట్ గురించి మీకు ఇప్పటికే కొంచెం తెలుసు! మేము ఈ పాఠంలో దాని గురించి మాట్లాడాము మరియు మేము ఇక్కడే JSONలో సీరియలైజేషన్ను కవర్ చేసాము . ఇది ఒక కారణం కోసం దాని పేరు వచ్చింది. JSONకి మార్చబడిన జావా వస్తువులు వాస్తవానికి జావాస్క్రిప్ట్లోని ఆబ్జెక్ట్ల వలె కనిపిస్తాయి. మా వస్తువును అర్థం చేసుకోవడానికి మీరు జావాస్క్రిప్ట్ తెలుసుకోవాల్సిన అవసరం లేదు:
{
"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 జావాస్క్రిప్ట్ ఆబ్జెక్ట్లను సూచిస్తుంది కాబట్టి, ఇది క్రింది జావాస్క్రిప్ట్ డేటా ఫార్మాట్లకు మద్దతు ఇస్తుంది:
- తీగలు;
- సంఖ్యలు;
- వస్తువులు;
- శ్రేణులు;
- బూలియన్స్ (నిజం మరియు తప్పు);
- శూన్య.
-
మనుషులు చదవగలిగే ఫార్మాట్. మీ తుది వినియోగదారు మానవుడైతే ఇది స్పష్టమైన ప్రయోజనం. ఉదాహరణకు, మీ సర్వర్లో విమానాల షెడ్యూల్తో కూడిన డేటాబేస్ ఉందని అనుకుందాం. ఒక మానవ కస్టమర్, ఇంట్లో తన కంప్యూటర్ వద్ద కూర్చొని, వెబ్ అప్లికేషన్ని ఉపయోగించి ఈ డేటాబేస్ నుండి డేటాను అభ్యర్థిస్తారు. అతను అర్థం చేసుకోగలిగే ఫార్మాట్లో మీరు డేటాను అందించాలి కాబట్టి, JSON ఒక గొప్ప పరిష్కారం.
-
సరళత. ఇది చాలా సులభం :) పైన, మేము రెండు JSON ఫైల్ల ఉదాహరణను అందించాము. మరియు మీరు జావాస్క్రిప్ట్ గురించి వినకపోయినా (జావాస్క్రిప్ట్ ఆబ్జెక్ట్లను విడదీయండి), అక్కడ వివరించిన వస్తువులను మీరు సులభంగా అర్థం చేసుకోవచ్చు.
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.org వెబ్సైట్ ఒక సాధారణ YAML ఫైల్ కాబట్టి YAML మనుషులు చదవగలిగేది :)
-
కాంపాక్ట్నెస్. ఫైల్ నిర్మాణం ఖాళీలను ఉపయోగించి సృష్టించబడుతుంది: బ్రాకెట్లు లేదా కొటేషన్ గుర్తులను ఉపయోగించాల్సిన అవసరం లేదు.
-
ప్రోగ్రామింగ్ భాషల కోసం స్థానిక డేటా నిర్మాణాలకు మద్దతు. JSON మరియు అనేక ఇతర ఫార్మాట్ల కంటే YAML యొక్క భారీ ప్రయోజనం ఏమిటంటే ఇది వివిధ డేటా నిర్మాణాలకు మద్దతు ఇస్తుంది. వాటిలో ఉన్నవి:
-
!!మ్యాప్
నకిలీలను కలిగి ఉండని కీ-విలువ జతల క్రమం లేని సెట్; -
!!omap
నకిలీలను కలిగి ఉండని కీ-విలువ జతల యొక్క ఆర్డర్ సీక్వెన్స్; -
!!పెయిర్లు:
డూప్లికేట్లను కలిగి ఉండే కీ-విలువ జతల యొక్క ఆర్డర్ సీక్వెన్స్; - !!సెట్
ఒకదానికొకటి సమానంగా లేని విలువల క్రమం లేని క్రమం; - !!seq
ఏకపక్ష విలువల క్రమం;
మీరు జావా నుండి ఈ నిర్మాణాలలో కొన్నింటిని గుర్తిస్తారు! :) దీనర్థం ప్రోగ్రామింగ్ లాంగ్వేజ్ల నుండి వివిధ డేటా స్ట్రక్చర్లు 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ని పోలి ఉంటుంది, కానీ ఇది మానవులకు చదవదగినది కాదు మరియు బైనరీ డేటాను ఉపయోగిస్తుంది. ఫలితంగా, చిత్రాలను మరియు ఇతర జోడింపులను నిల్వ చేయడానికి మరియు బదిలీ చేయడానికి ఇది చాలా మంచిది. అదనంగా, JSONలో అందుబాటులో లేని కొన్ని డేటా రకాలకు BSON మద్దతు ఇస్తుంది. ఉదాహరణకు, BSON ఫైల్లో తేదీ (మిల్లీసెకండ్ ఫార్మాట్లో) లేదా జావాస్క్రిప్ట్ కోడ్ యొక్క భాగాన్ని కూడా చేర్చవచ్చు. ప్రసిద్ధ MongoDB NoSQL డేటాబేస్ BSON ఆకృతిలో సమాచారాన్ని నిల్వ చేస్తుంది.స్థానం ఆధారిత ప్రోటోకాల్
కొన్ని సందర్భాల్లో, మేము పంపిన డేటా మొత్తాన్ని తీవ్రంగా తగ్గించాలి (ఉదాహరణకు, మనకు చాలా డేటా ఉంటే మరియు లోడ్ తగ్గించాల్సిన అవసరం ఉంటే). ఈ పరిస్థితిలో, మేము స్థానం-ఆధారిత ప్రోటోకాల్ను ఉపయోగించవచ్చు, అంటే, పారామీటర్ల పేర్లు లేకుండా పారామీటర్ విలువలను పంపవచ్చు.
"Leo Tolstoy" | "Anna Karenina" | 1873
ఈ ఫార్మాట్లోని డేటా పూర్తి JSON ఫైల్ కంటే చాలా రెట్లు తక్కువ స్థలాన్ని తీసుకుంటుంది. వాస్తవానికి, ఇతర సీరియలైజేషన్ ఫార్మాట్లు ఉన్నాయి, కానీ మీరు ఇప్పుడు వాటన్నింటినీ తెలుసుకోవలసిన అవసరం లేదు :) అప్లికేషన్లను అభివృద్ధి చేసేటప్పుడు మీరు ప్రస్తుత పరిశ్రమ ప్రామాణిక ఫార్మాట్లతో సుపరిచితులై ఉంటే మరియు వాటి ప్రయోజనాలను మరియు అవి ఒకదాని నుండి ఎలా విభిన్నంగా ఉన్నాయో గుర్తుంచుకోండి. మరొకటి. మరియు దీనితో, మా పాఠం ముగుస్తుంది :) ఈ రోజు కొన్ని పనులను పరిష్కరించడం మర్చిపోవద్దు! మరల సారి వరకు! :)
GO TO FULL VERSION