TOON ఫార్మాట్ చీట్ షీట్
JSON చాలా వెర్బోస్ అని మీరు ఎప్పుడైనా భావించినట్లయితే (అన్ని బ్రేస్లు!) కానీ YAML కొంచెం "మాయాజాలం" మరియు అనూహ్యమైనది, మీరు టూన్తో ప్రేమలో పడవచ్చు. ఈ ఫార్మాట్ మానవ రీడబిలిటీ మరియు మెషిన్ పార్సింగ్ స్పీడ్ మధ్య ప్రత్యేకమైన బ్యాలెన్స్ను కలిగి ఉంటుంది. ఇది దట్టమైన, స్పష్టమైన మరియు అన్వయించడానికి చాలా వేగంగా రూపొందించబడింది.
మీరు డేటాను మైగ్రేట్ చేస్తున్నా లేదా కాన్ఫిగరేషన్ ఫైల్ను డీబగ్ చేయడానికి ప్రయత్నిస్తున్నా, ఈ చీట్ షీట్ మీరు తెలుసుకోవలసిన ముఖ్యమైన సింటాక్స్ను కవర్ చేస్తుంది.
ఫిలాసఫీ: తక్కువ నాయిస్, ఎక్కువ డేటా
మీరు గమనించే మొదటి విషయం ఏమిటంటే, TOON చాలా YAML లాగా కనిపిస్తుంది, కానీ అది ఖచ్చితంగా JSON లాగా ప్రవర్తిస్తుంది. ఇది ఇండెంటేషన్ మరియు కొత్త లైన్లకు అనుకూలంగా ఓపెనింగ్ మరియు క్లోజింగ్ బ్రేస్లను తొలగిస్తుంది, మీ డేటా వెంటనే క్లీనర్గా కనిపిస్తుంది.
వస్తువులు మరియు గూడు కట్టడం
JSONలో, మీరు ప్రతిదీ కర్లీ బ్రేస్లలో చుట్టడం అలవాటు చేసుకున్నారు. TOONలో, నిర్మాణం ఇండెంటేషన్ ద్వారా సూచించబడుతుంది.
JSON:
{
"ప్రాజెక్ట్": {
"మెటాడేటా": {
"పేరు": "ఆల్ఫా-సెంటారీ",
"స్టేటస్": "యాక్టివ్"
},
"మైలురాళ్ళు": [
{
"దశ": "డిజైన్",
"ప్రాధాన్యత": 1
},
{
"దశ": "పరీక్ష",
"ప్రాధాన్యత": 2
}
]
}
}
టూన్:
ప్రాజెక్ట్:
మెటాడేటా:
పేరు: ఆల్ఫా-సెంటారీ
స్థితి: చురుకుగా
మైలురాళ్ళు[2]{ఫేజ్,ప్రాధాన్యత}:
డిజైన్, 1
పరీక్ష, 2
కీలు ప్రత్యేక అక్షరాలను కలిగి ఉంటే మరియు సోపానక్రమం దృశ్యమానంగా స్పష్టంగా ఉంటే తప్ప వాటికి కోట్లు అవసరం లేదని గమనించండి.
శ్రేణుల శక్తి
ఇక్కడే TOON నిజంగా ఇతర ఫార్మాట్ల నుండి విభేదిస్తుంది. TOON మీరు కీలోనే శ్రేణి యొక్క పొడవుని ప్రకటించాలి. ఇది మొదట బేసిగా అనిపించవచ్చు, కానీ ఇది మెమరీని ముందుగా కేటాయించడానికి పార్సర్ని అనుమతిస్తుంది, ఇది చాలా వేగంగా ఉంటుంది.
ఆదిమ శ్రేణులు
తీగలు లేదా సంఖ్యల యొక్క సాధారణ జాబితాల కోసం, TOON కాంపాక్ట్, కామాతో వేరు చేయబడిన సింటాక్స్ని ఉపయోగిస్తుంది.
సింటాక్స్:
కీ[పొడవు]:item1,item2,item3
మీకు రూట్ అర్రే ఉంటే (మొత్తం ఫైల్ జాబితా మాత్రమే), ఇది ఇలా కనిపిస్తుంది:
పట్టిక శ్రేణులు (ది కిల్లర్ ఫీచర్)
ఇది సాధారణంగా డెవలపర్లను గెలుచుకునే లక్షణం. మీ వద్ద ఒకే రకమైన కీలు (డేటాబేస్లోని అడ్డు వరుసల వంటివి) పంచుకునే ఆబ్జెక్ట్ల శ్రేణి ఉంటే, TOON హెడర్లో once స్కీమాను నిర్వచించడానికి మరియు విలువలను జాబితా చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇది JSONలో ఉన్న భారీ మొత్తంలో రిడెండెన్సీని తొలగిస్తుంది.
సింటాక్స్:
కీ[వరుసలు]{col1,col2}:
JSON:
{
"ఇన్వెంటరీ": [
{
"sku": "KB-99",
"qty": 50,
"నడవ": 4,
"రీఆర్డర్": తప్పు
},
{
"sku": "MS-12",
"qty": 12,
"నడవ": 7,
"రీఆర్డర్": నిజం
},
{
"sku": "MN-44",
"qty": 8,
"నడవ": 2,
"రీఆర్డర్": నిజం
}
]
}
టూన్:
ఇన్వెంటరీ[3]{sku,qty,aisle,reorder}:
KB-99,50,4, తప్పు
MS-12,12,7, నిజం
MN-44,8,2, నిజం
ఈ "CSV-inside-YAML" విధానం పెద్ద డేటాసెట్లను నమ్మశక్యం కాని రీడబుల్ మరియు కాంపాక్ట్గా చేస్తుంది.
మిశ్రమ మరియు సమూహ శ్రేణులు
కొన్నిసార్లు డేటా ఏకరీతిగా ఉండదు. మీ శ్రేణి వివిధ రకాల డేటాను (వస్తువులతో కలిపిన సంఖ్యలు) కలిగి ఉంటే లేదా సంక్లిష్టమైన సమూహ వస్తువులను కలిగి ఉంటే, TOON హైఫన్లను ఉపయోగించి బుల్లెట్-పాయింట్ స్టైల్ సింటాక్స్కి తిరిగి వస్తుంది.
మీరు శ్రేణుల లోపల శ్రేణులను కూడా కలిగి ఉండవచ్చు. అంతర్గత శ్రేణి దాని పొడవును ఎలా ప్రకటిస్తుందో గమనించండి:
కోటింగ్: దీన్ని ఎప్పుడు ఉపయోగించాలి
TOON గురించిన మంచి విషయాలలో ఒకటి మీకు చాలా అరుదుగా కోట్లు అవసరం. మీరు ""లో చుట్టకుండానే హలో 世界 👋 అని వ్రాయవచ్చు. అయినప్పటికీ, TOON రకాలను (సంఖ్యలు, బూలియన్లు) ఊహించడానికి ప్రయత్నిస్తున్నందున, మీరు తప్పక కోట్లను ఎప్పుడు ఉపయోగించాలి అనేదానికి నిర్దిష్ట నియమాలు ఉన్నాయి.
"తప్పక కోట్" జాబితా
మీరు తప్పనిసరిగా మీ స్ట్రింగ్ను డబుల్ కోట్లలో "" వ్రాప్ చేయాలి:
- ఇది సంఖ్య లేదా బూలియన్ లాగా ఉంది: మీకు
"123"లేదా"ట్రూ"స్ట్రింగ్ కావాలంటే, దాన్ని కోట్ చేయండి. లేకపోతే, అవి123సంఖ్య మరియు బూలియన్ట్రూఅవుతుంది.
- ఇది డీలిమిటర్లను కలిగి ఉంది: మీ స్ట్రింగ్కు కామా
,(లేదా మీ సక్రియ డీలిమిటర్ ఏదైనా) ఉంటే, దాన్ని కోట్ చేయండి.
- ఇది వైట్స్పేస్ అంచులను కలిగి ఉంది: లీడింగ్ లేదా ట్రైలింగ్ స్పేస్లకు కోట్లు అవసరం.
- ఇది ప్రత్యేక అక్షరాలను కలిగి ఉంది:
:,",\,[,],{,}వంటి అక్షరాలు.
- ఇది ఖాళీగా ఉంది: ఖాళీ స్ట్రింగ్
""గా సూచించబడుతుంది.
** ఉదాహరణలు:**
ఎస్కేప్ సీక్వెన్సులు
సరళంగా ఉంచండి. టూన్ స్ట్రింగ్స్ లోపల ఐదు ఎస్కేప్ సీక్వెన్స్లను మాత్రమే గుర్తిస్తుంది. మరేదైనా చెల్లదు.
\\(బ్యాక్స్లాష్)
\"(డబుల్ కోట్)
\n(న్యూలైన్)
\r(క్యారేజ్ రిటర్న్)
\t(ట్యాబ్)
అధునాతన హెడర్లు & డీలిమిటర్లు
మీ డేటా కామాలతో నిండి ఉంటే ఏమి చేయాలి? మీరు ఒక్కో ఫీల్డ్ను కోట్ చేయకూడదు. అర్రే హెడర్లో డీలిమిటర్ని మార్చడానికి TOON మిమ్మల్ని అనుమతిస్తుంది.
మీరు బ్రాకెట్లు లేదా కలుపుల లోపల ఉంచడం ద్వారా టాబ్ లేదా **పైప్ (|)**ని ఉపయోగించవచ్చు.
పైప్ డీలిమిటర్ ఉదాహరణ:
హెడర్లో | జోడించడం ద్వారా, మీ వాక్యనిర్మాణాన్ని శుభ్రంగా ఉంచడం ద్వారా కామాలకు బదులుగా పైప్ల కోసం వెతకడం పార్సర్కు తెలుసు.
కీ మడత
మీకు లోతైన గూడు ఉంటే కానీ డేటా యొక్క ఒక మార్గం మాత్రమే, మీరు ఐదు సార్లు ఇండెంట్ చేయవలసిన అవసరం లేదు. మీరు మీ నిర్మాణాన్ని చదును చేయడానికి డాట్ సంజ్ఞామానాన్ని (కీ మడత) ఉపయోగించవచ్చు.
ప్రామాణిక గూడు:
వినియోగదారు:
ప్రొఫైల్:
సెట్టింగ్లు:
నోటిఫికేషన్లు:
ఇమెయిల్: నిజం
sms: తప్పు
** మడతపెట్టిన (క్లీనర్):**
user.profile.settings.notifications:
ఇమెయిల్: నిజం
sms: తప్పు
త్వరిత రకం సూచన
TOON నేరుగా JSON రకాలకు మ్యాప్ చేస్తుంది, కానీ చెల్లుబాటు అయ్యే అవుట్పుట్ను నిర్ధారించడానికి ఇది JavaScript-నిర్దిష్ట అంచు కేసులను సునాయాసంగా నిర్వహిస్తుంది.
- సంఖ్యలు: కానానికల్ దశాంశాలుగా నిల్వ చేయబడతాయి.
1.01అవుతుంది.
- ఇన్ఫినిటీ / NaN: ఇవి
శూన్యఅవుతాయి (JSON వాటికి మద్దతు ఇవ్వదు కాబట్టి).
- తేదీలు: కోట్ చేయబడిన ISO స్ట్రింగ్లకు మార్చబడింది.
- నిర్వచించబడని/ఫంక్షన్లు:
శూన్యకి మార్చబడింది.
- ఖాళీ ఆబ్జెక్ట్లు: ఏమీ లేకుండా సూచించబడింది (ఖాళీ అవుట్పుట్).
- ఖాళీ శ్రేణులు:
కీ[0]:గా సూచించబడింది.
TOON అనేది ఖచ్చితత్వానికి రివార్డ్ చేసే ఫార్మాట్. మీ శ్రేణి ఐటెమ్లను లెక్కించడం అలవాటు చేసుకోవడానికి కొంత సమయం పట్టవచ్చు, కానీ రీడబిలిటీ మరియు ఫైల్ పరిమాణంలో చెల్లించే ప్రయత్నం విలువైనది. హ్యాపీ కోడింగ్!