ఈ సాధనం గురించి
JSON ఫార్మాటింగ్ (తరచుగా అందంగా-ప్రింటింగ్ లేదా బ్యూటిఫికేషన్ అని పిలుస్తారు) కాంపాక్ట్ JSONని తీసుకుంటుంది మరియు నిర్మాణాన్ని మానవ పాఠకులకు కనిపించేలా చేయడానికి వైట్స్పేస్ - లైన్ బ్రేక్లు, ఇండెంటేషన్, స్థిరమైన స్పేసింగ్ను జోడిస్తుంది. కాంపాక్ట్ JSON ప్రసారం కోసం సరైన ఫార్మాట్: ఇది వైర్ మరియు నిల్వపై బైట్లను తగ్గిస్తుంది. ఆకృతీకరించిన JSON తనిఖీకి సరైన ఫార్మాట్: ఇండెంట్ చేసిన సోపానక్రమం ఒక చూపులో సమూహ నిర్మాణాన్ని వెల్లడిస్తుంది, తేడాలను అర్థవంతంగా చేస్తుంది మరియు పత్రాన్ని మానసికంగా అన్వయించకుండా నిర్దిష్ట ఫీల్డ్లను గుర్తించడానికి డెవలపర్లను అనుమతిస్తుంది.
ఈ ఫార్మాటర్ ఇన్పుట్ చెల్లుబాటులో ఉందని నిర్ధారించడానికి JSONగా అన్వయిస్తుంది, ఆపై స్థిరమైన ఇండెంటేషన్తో దాన్ని మళ్లీ విడుదల చేస్తుంది. చెల్లని ఇన్పుట్ సింటాక్స్ సమస్యను సూచించే లోపాన్ని ఉత్పత్తి చేస్తుంది. మూలం ఎంత కాంపాక్ట్ లేదా గజిబిజిగా ఉన్నప్పటికీ చెల్లుబాటు అయ్యే ఇన్పుట్ రీఫార్మాట్ చేయబడుతుంది. ఇండెంటేషన్ డిఫాల్ట్గా రెండు స్పేస్లకు, అత్యంత సాధారణ JavaScript కన్వెన్షన్తో సరిపోలుతుంది.
ఫార్మాటర్ మినిఫికేషన్ (విలోమ ఆపరేషన్)ను కూడా అందిస్తుంది, ఇది చిన్న చెల్లుబాటు అయ్యే JSONని ఉత్పత్తి చేయడానికి అన్ని అనవసరమైన ఖాళీలను తొలగిస్తుంది. ఉత్పత్తి ప్రసారానికి మినిఫైడ్ అవుట్పుట్ ఉపయోగపడుతుంది; ఆకృతి చేసిన అవుట్పుట్ అభివృద్ధి మరియు డీబగ్గింగ్ కోసం ఉపయోగపడుతుంది.
JSONని ఎందుకు ఫార్మాట్ చేయండి
ఇండెంటేషన్ లేకుండా లోతుగా సమూహ JSON చదవడం అసాధ్యం - నిర్మాణం సాంకేతికంగా ఉంది కానీ కనిపించదు. మధ్యస్థంగా సంక్లిష్టమైన JSON కూడా ఫార్మాటింగ్ నుండి చాలా ప్రయోజనాలను పొందుతుంది. కోడ్ రివ్యూయర్లు, API డీబగ్గర్లు మరియు డేటా పేలోడ్ని అర్థం చేసుకోవడానికి ప్రయత్నిస్తున్న ఎవరైనా వాస్తవంగా అక్కడ ఏమి ఉందో చూడటానికి JSONని ఫార్మాట్ చేయాలి.
ఫార్మాటింగ్ కూడా లోపాలను పట్టుకుంటుంది. ఫార్మాటింగ్ సమయంలో JSON అన్వయించడంలో విఫలమైతే, దోష సందేశం సింటాక్స్ సమస్య యొక్క ఖచ్చితమైన స్థానాన్ని గుర్తిస్తుంది - తరచుగా తప్పిపోయిన కామా, కోట్ చేయని కీ లేదా ఉత్పత్తి చేసే సిస్టమ్ ఫ్లాగ్ చేయని విచ్చలవిడి కామా. ఫార్మాటర్ అనేది అందుబాటులో ఉన్న సరళమైన JSON వాలిడేటర్.
సాంకేతిక వివరాలు
ఫార్మాటర్ JSON.parse మరియు JSON.stringifyని ఉపయోగిస్తుంది, ప్రతి JavaScript రన్టైమ్ షిప్లలో ఒకే జత. అన్వయించడం RFC 8259 (ప్రస్తుత JSON స్పెక్)ని అనుసరిస్తుంది, అయితే కఠినమైన JSONని అంగీకరిస్తుంది, అయితే JavaScript ఆబ్జెక్ట్ లిటరల్స్, కామెంట్లు, ట్రైలింగ్ కామాలు మరియు ఇతర JSON5 ఎక్స్టెన్షన్లను తిరస్కరిస్తుంది.
JSON.stringify ఇండెంట్ ఆర్గ్యుమెంట్ను అంగీకరిస్తుంది: ఒక సంఖ్య (స్పేస్లు) లేదా స్ట్రింగ్ (ట్యాబ్ వంటి కస్టమ్ ఇండెంట్ క్యారెక్టర్). ఫార్మాట్ రెండు ఎంపికలను బహిర్గతం చేస్తుంది. అవుట్పుట్ ఆబ్జెక్ట్ల కోసం సోర్స్ ఆర్డర్లో క్రమబద్ధీకరించబడింది (ES2015 అన్ని ప్రధాన ఇంజిన్లలో ప్రాపర్టీ చొప్పించే క్రమం సంరక్షించబడినందున).
ఎడ్జ్ కేసులు: సంఖ్యకు మించిన పెద్ద సంఖ్యలు. MAX_SAFE_INTEGER అన్వయించినప్పుడు ఖచ్చితత్వాన్ని కోల్పోతాయి (తెలిసిన JSON పరిమితి; 2^53 కంటే ఎక్కువ ఉన్న IDల కోసం స్ట్రింగ్ విలువలను ఉపయోగించండి). స్ట్రింగ్స్లోని యూనికోడ్ ఎస్కేప్లు అక్షరాలా భద్రపరచబడతాయి. ప్రతి లైన్ నుండి వెనుక ఉన్న ఖాళీ స్థలం తీసివేయబడుతుంది.
తరచుగా అడిగే ప్రశ్నలు
- ఈ సాధనం ఏ రకమైన JSON లోపాలను గుర్తిస్తుంది?
- RFC 8259 JSON స్పెసిఫికేషన్ ప్రకారం తప్పిపోయిన కామాలు, సరిపోలని బ్రాకెట్లు/బ్రేస్లు, చెల్లని స్ట్రింగ్ ఎస్కేపింగ్, ట్రైలింగ్ కామాలు, సింగిల్-కోటెడ్ స్ట్రింగ్లు మరియు ఇతర సింటాక్స్ ఉల్లంఘనలను సాధనం గుర్తిస్తుంది.
- ఇది చాలా పెద్ద JSON ఫైల్లను నిర్వహించగలదా?
- అవును. ఫార్మాటర్ స్థానిక JavaScript పార్సింగ్ని ఉపయోగించి మీ బ్రౌజర్లో JSONని ప్రాసెస్ చేస్తుంది, కనుక ఇది అనేక మెగాబైట్ల వరకు ఫైళ్లను సమర్థవంతంగా నిర్వహిస్తుంది. చాలా పెద్ద ఫైల్ల కోసం (50MB+), ప్రాసెసింగ్ సమయం మీ పరికరంపై ఆధారపడి ఉంటుంది.
- ఇది వ్యాఖ్యలతో (JSONC) JSONకు మద్దతు ఇస్తుందా?
- ప్రామాణిక JSON వ్యాఖ్యలను అనుమతించదు. మీ ఇన్పుట్లో వ్యాఖ్యలు ఉంటే, వాలిడేటర్ వాటిని ఎర్రర్లుగా ఫ్లాగ్ చేస్తుంది. JSONC మద్దతు కోసం, ఫార్మాట్ చేయడానికి ముందు వ్యాఖ్యలను తీసివేయండి.
- ఫార్మాటింగ్ నా డేటా విలువలను మారుస్తుందా?
- లేదు. ఫార్మాటింగ్ వైట్స్పేస్ మరియు ఇండెంటేషన్ను మాత్రమే సర్దుబాటు చేస్తుంది - మీ డేటా రకాలు, విలువలు మరియు నిర్మాణం సరిగ్గా అలాగే ఉంటాయి.
- JSON5 ఫీచర్లకు మద్దతు ఉందా (వ్యాఖ్యలు, వెనుక కామాలు)?
- సంఖ్య. ఫార్మాట్ RFC 8259ని ఖచ్చితంగా అనుసరిస్తుంది. JSON5 లక్షణాలు అన్వయ లోపాలను కలిగిస్తాయి. JSON5తో పని చేయడానికి, ముందుగా JSON5 పార్సర్ని ఉపయోగించి ప్రామాణిక JSONకి మార్చండి.
- నా JSON సర్వర్కి అప్లోడ్ చేయబడిందా?
- లేదు. అంతర్నిర్మిత JSON ఫంక్షన్లను ఉపయోగించి పార్సింగ్ మరియు ఫార్మాటింగ్ పూర్తిగా మీ బ్రౌజర్లో జరుగుతుంది.
- పెద్ద సంఖ్యలు ఖచ్చితత్వాన్ని కోల్పోతాయా?
- JavaScript సంఖ్యలను 64-బిట్ ఫ్లోట్లుగా సూచిస్తుంది, కాబట్టి 2^53 (సుమారు 9 క్వాడ్రిలియన్) పైన ఉన్న పూర్ణాంకాలు ఖచ్చితత్వాన్ని కోల్పోతాయి. IDలు లేదా ఇతర పెద్ద పూర్ణాంకాల విలువల కోసం, వాటిని JSONలో స్ట్రింగ్లుగా నిల్వ చేయండి.
- నేను కీలను అక్షర క్రమంలో క్రమబద్ధీకరించవచ్చా?
- JSON.stringify కీలను క్రమబద్ధీకరించదు. స్ట్రింగ్ఫై చేసే ముందు కీలను ఆల్ఫాబెటైజ్ చేయడానికి ప్రత్యేక క్రమబద్ధీకరణ దశను (లేదా క్రమబద్ధీకరణ మద్దతుతో కూడిన ఫార్మాటర్) ఉపయోగించండి.