JSON నుండి CSVకు మార్పు: ఈ పేజీ ఏమి చేస్తుంది?
మీరు ఒక JSON ఫైల్ను ఎంచుకుని లేదా డ్రాగ్-అండ్-డ్రాప్ చేస్తే, ఈ సాధనం దానిని CSV ఫైల్గా మారుస్తుంది. మార్పు తర్వాత, ఫలిత పట్టిక ప్రివ్యూలో చూపించబడుతుంది – దానిలో వరుసల సంఖ్య, నిలువు వరుసల సంఖ్య, మరియు అవుట్పుట్ ఫైల్ పరిమాణం కూడా కనిపిస్తాయి. చివరగా, మార్చబడిన ఫైల్ను డౌన్లోడ్ చేసుకోవచ్చు.
ముఖ్యమైన విషయం: ఈ ప్రక్రియ మొత్తం మీ బ్రౌజర్లోనే జరుగుతుంది. మీ డేటా ఏ సర్వర్కూ అప్లోడ్ కాదు. ఇది గోప్యత-సున్నితమైన పనులకు ముఖ్యంగా ఉపయోగపడుతుంది – ఆర్థిక డేటా, వ్యక్తిగత సమాచారం, లేదా కంపెనీ లోపలి API ప్రతిస్పందనలు వంటి వాటిని మార్చాలనుకుంటే ఇతర వెబ్సైట్లకు ఎగుమతి చేయకుండా ఇక్కడ నేరుగా చేసుకోవచ్చు.
JSON నుండి CSVకు మార్పు ఎలా పనిచేస్తుంది?
JSON అనేది హైరార్కికల్ (nested) మరియు టైప్డ్ (typed) డేటా ఫార్మాట్. అది ఆబ్జెక్ట్లు, అరేలు, సంఖ్యలు, బూలియన్లు, స్ట్రింగ్లు, మరియు null విలువలను సపోర్ట్ చేస్తుంది. CSV మాత్రం పూర్తిగా ఫ్లాట్, టైప్లు లేని, సరళమైన పట్టిక ఫార్మాట్. అందుకే మార్పు సమయంలో అనేక లక్షణాలు కోల్పోతాయి. ఈ సాధనం మూడు ముఖ్యమైన నియమాలను అనుసరిస్తుంది:
- JSON టేబుల్-షేప్డ్ అయి ఉండాలి – అంటే అది ఆబ్జెక్ట్ల అరే (array of objects) లేదా అరేల అరే (array of arrays) అయి ఉండాలి.
- ఆబ్జెక్ట్ల అరే అయితే: ప్రతి ఆబ్జెక్ట్ ఒక వరుస (row) అవుతుంది, ఆబ్జెక్ట్ కీలు నిలువు వరుసల (columns) పేర్లుగా మారతాయి.
- అరేల అరే అయితే: ప్రతి లోపలి అరే ఒక వరుస అవుతుంది, మూలకాలు నిలువు వరుసలుగా మారతాయి (కీ పేర్లు ఉండవు).
JSONలో నెస్టెడ్ ఆబ్జెక్ట్లు ఉంటే, వాటిని ఫ్లాట్ చేయవలసి ఉంటుంది. ఈ సాధనం డాట్-పాత్ నోటేషన్ ఉపయోగిస్తుంది. ఉదాహరణకు, కింది JSONని చూడండి:
{
"name": "రవి",
"address": {
"city": "హైదరాబాద్",
"zip": 500001
}
}
ఇది CSVలో మారినప్పుడు రెండు నిలువు వరుసలు వస్తాయి: address.city మరియు address.zip. ప్రతి లోపలి కీకి బయటి కీని డాట్తో కలిపి కొత్త పేరు ఏర్పడుతుంది. ఈ పద్ధతి నెస్టింగ్ స్థాయిని బట్టి పనిచేస్తుంది. ఒక ఆబ్జెక్ట్లో ఎన్ని లోతులు ఉన్నా, అన్ని లోపలి కీలకు డాట్-పాత్ వర్తించబడుతుంది.
ఫ్లాటనింగ్ మరియు డాట్-పాత్ నోటేషన్
JSON నుండి CSVకు మార్చడంలో అతిపెద్ద సవాలు నెస్టెడ్ నిర్మాణాన్ని ఫ్లాట్ చేయడం. CSVకు మూడు కోణాలు లేదా లోతు ఉండదు – ఒకే ఫ్లాట్ పట్టిక మాత్రమే ఉంటుంది. డాట్-పాత్ నోటేషన్ ఈ సమస్యను పరిష్కరించడానికి ప్రామాణిక మార్గం. ఉదాహరణకు, API నుండి వచ్చిన JSONలో తరచుగా user.profile.email వంటి డాట్-పాత్లు కనిపిస్తాయి.
అయితే, ఇక్కడ ఒక పరిమితి ఉంది: JSONలో అరేలు కూడా ఉండవచ్చు. అరేలు కలిగిన డేటాను ఫ్లాట్ చేయడం కష్టం. ఈ సాధనం రెండు సందర్భాలను నిర్వహిస్తుంది:
- అరేలు (ఆబ్జెక్ట్ల అరే): ప్రతి అరే మూలకం ఒక వరుస అవుతుంది. ఉదాహరణకు, JSONలో
itemsఅనే అరే ఉంటే, అది పట్టికలో అనేక వరుసలుగా మారుతుంది. అరే లోపలి ఆబ్జెక్ట్లు మళ్ళీ డాట్-పాత్ ద్వారా ఫ్లాట్ చేయబడతాయి. - అరేల అరే: ఇది సరళమైన పట్టికగా మారుతుంది – ప్రతి లోపలి అరే ఒక వరుస, ప్రతి మూలకం ఒక నిలువు వరుస. ఇక్కడ కీ పేర్లు ఉండవు, కాబట్టి నిలువు వరుసలకు హెడర్ వరుస ఉండదు.
మీకు అవసరమైతే, ఫ్లాటనింగ్ ముందు JSONలో నెస్టెడ్ విభాగాలను మీరే సరళీకరించాల్సి రావచ్చు. ఈ సాధనం డాట్-పాత్ ఒకే పద్ధతిని అనుసరిస్తుంది – దానిని మార్చడానికి వేరే ఐచ్ఛికం లేదు.
డిలిమిటర్ ఎంపిక మరియు CSV నియమాలు
CSV ఫైల్లో డిలిమిటర్ అనేది నిలువు వరుసలను వేరు చేయడానికి ఉపయోగించే గుర్తు. సాధారణంగా కమా (,) ఉపయోగిస్తారు, కానీ కొన్ని దేశాల్లో సెమీకోలన్ (;) ప్రామాణికం. ఉదాహరణకు, జర్మనీలో CSV అంటే సాధారణంగా సెమీకోలన్ డిలిమిటర్. ట్యాబ్ డిలిమిటర్ కూడా కొన్ని సాఫ్ట్వేర్లలో ఉపయోగపడుతుంది.
మీరు ఈ సాధనంలో మూడు డిలిమిటర్లలో ఏదైనా ఎంచుకోవచ్చు: కమా, సెమీకోలన్ లేదా ట్యాబ్. కమా డిఫాల్ట్ ఎంపిక. అయితే, CSVలో కొన్ని నియమాలు ఉన్నాయి. డేటాలో డిలిమిటర్ ఉన్నట్లయితే, ఆ విలువను డబుల్ కోట్లలో (quotes) చుట్టాలి. ఉదాహరణకు, "రవి, కుమార్" అనే స్ట్రింగ్కు కమా ఉంటుంది కాబట్టి CSVలో అది "రవి, కుమార్" గా మారుతుంది. లైన్ బ్రేక్లు మరియు కోట్లు కూడా సరిగ్గా నిర్వహించబడతాయి.
ముఖ్య గమనిక: ఈ సాధనం స్వయంచాలకంగా CSV కోటింగ్ నియమాలను అన్వయించింది. కానీ మీ JSONలో ఇప్పటికే కోట్లు లేదా కమాలు ఉంటే, అవి CSVలో సరిగ్గా ఎస్కేప్ చేయబడతాయి. దీని వలన ఏ విలువ కూడా తప్పుగా విభజించబడదు.
పొరపాట్లు మరియు పరిమితులు
ఈ సాధనం వివిధ సందర్భాలలో నిర్దిష్ట లోప సందేశాలను చూపిస్తుంది. కింది వాటిని గమనించండి:
| లోప సందేశం | ఎప్పుడు వస్తుంది |
|---|---|
| "This JSON is invalid or not table‑shaped." | JSON చెల్లదు లేదా టేబుల్ ఆకృతిలో లేనప్పుడు |
| "This file is too large. Use a file under ‹max›." | ఫైల్ 8 MB కంటే పెద్దదయితే |
| "This table has more than ‹max› rows." | వరుసల సంఖ్య 10,000 కంటే ఎక్కువైతే |
| "This table has more than ‹max› columns." | నిలువు వరుసల సంఖ్య 200 కంటే ఎక్కువైతే |
| "Choose one file first." | ఫైల్ ఎంపిక చేయకుండా మార్పు ప్రయత్నిస్తే |
| "Choose a CSV, JSON or XLSX file." | ఇతర ఫార్మాట్ ఫైల్ ఎంపిక చేస్తే |
| "Could not convert this file." | సాధారణ మార్పు వైఫల్యం |
| "Conversion cancelled." | వినియోగదారు మార్పును రద్దు చేస్తే |
| "ఈ కన్వర్షన్కు చాలా సమయం పడుతోంది. చిన్న ఫైల్ను ప్రయత్నించండి." | మార్పు 12 సెకన్ల కంటే ఎక్కువ సమయం తీసుకుంటే |
ఈ లోపాలన్నీ క్లయింట్-సైడ్లోనే కనిపిస్తాయి – మీ డేటా సర్వర్కు వెళ్ళదు కాబట్టి ఏ నెట్వర్క్ సమస్యలు లేవు.
డేటా రకాలు కోల్పోవడం
ఇది అత్యంత ముఖ్యమైన పరిమితి. JSONలో సంఖ్యలు, బూలియన్లు (true, false), మరియు null వంటి డేటా రకాలు ఉంటాయి. CSVలో అన్ని విలువలు స్ట్రింగ్లుగా మారతాయి. అందుకే మీరు మార్పు తర్వాత Excel లేదా Google Sheetsలో డేటాను సరిగ్గా ఫార్మాట్ చేయాల్సి ఉంటుంది.
ఉదాహరణకు:
- JSONలో
"age": 25→ CSVలో25(స్ట్రింగ్గా, సంఖ్య కాదు) "active": true→true(స్ట్రింగ్గా; బూలియన్ కాదు)"middle": null→ ఖాళీ సెల్ (ఏమీ ఉండదు)
మరో సమస్య: లీడింగ్ జీరోస్ (leading zeros). ఉదాహరణకు, ఒక ZIP కోడ్ 500001 JSONలో సంఖ్యగా ఉంటే, CSVలో అది 500001 గానే వస్తుంది. కానీ లీడింగ్ జీరో ఉన్న సంఖ్యలు (ఉదా. 00123) సంఖ్యగా ఉంటే అవి 123 గా మారతాయి. ఈ సమస్యను నివారించడానికి, JSONలో సంఖ్యలను స్ట్రింగ్లుగా నిల్వ చేయాలని సిఫార్సు చేస్తారు. ఉదాహరణకు, "code": "00123" గా ఉంటే, CSVలో 00123 స్ట్రింగ్గా నిలబడుతుంది.
అలాగే, నెస్టెడ్ స్ట్రక్చర్ కోల్పోవడం వలన, మూల JSONలో ఒకే విలువలో లోపలి రికార్డులు ఉంటే అవి బహుళ వరుసలుగా మారతాయి. ఈ ప్రక్రియను "ఫ్లాటనింగ్" అంటారు.
FAQ – తరచుగా అడిగే ప్రశ్నలు
1. JSON ఫైల్లో అనేక నెస్టెడ్ ఆబ్జెక్ట్లు ఉన్నాయి. అవి CSVలో ఎలా మారతాయి?
ప్రతి లోపలి ఆబ్జెక్ట్ కీలకు బయటి కీలతో డాట్-పాత్ వర్తించబడుతుంది. ఉదాహరణకు, user.profile.name అనే నిలువు వరుస పేరు వస్తుంది. ఒకే రకమైన నెస్టింగ్ ఉన్న అన్ని ఆబ్జెక్ట్లకు ఇదే పద్ధతి వర్తిస్తుంది.
2. CSV ఫైల్లో లీడింగ్ జీరోస్ ఎందుకు కోల్పోతాయి?
JSONలో సంఖ్యలుగా నిల్వ చేయబడిన లీడింగ్ జీరోస్ (ఉదా. 01234) సంఖ్యాపరంగా పరిగణించబడతాయి మరియు CSVలో వాటి విలువ 1234 అవుతుంది. దీనిని నివారించాలంటే, JSONలో ఆ విలువను స్ట్రింగ్గా నిల్వ చేయండి (కోట్లలో చుట్టండి).
3. నేను ఒక పెద్ద JSON ఫైల్ను మార్చడానికి ప్రయత్నించినప్పుడు లోపం వస్తుంది. ఏమి చేయాలి?
ఫైల్ పరిమితి 8 MB. ఫైల్ పరిమాణాన్ని తగ్గించడానికి JSON నుండి అనవసరమైన డేటాను తొలగించండి లేదా ఫైల్ను చిన్న భాగాలుగా విభజించండి. మార్పు 12 సెకన్ల కంటే ఎక్కువ సమయం తీసుకుంటే, "ఈ కన్వర్షన్కు చాలా సమయం పడుతోంది. చిన్న ఫైల్ను ప్రయత్నించండి." అనే లోపం వస్తుంది.
4. నేను JSONని CSVగా మార్చిన తర్వాత, కొన్ని స్ట్రింగ్లలో అదనపు కోట్లు కనిపిస్తున్నాయి. ఇది సమస్యా?
కాదు. CSV నియమాల ప్రకారం, కమాలు, లైన్ బ్రేక్లు, లేదా కోట్లు ఉన్న స్ట్రింగ్లను డబుల్ కోట్లలో చుట్టాలి. మీ స్ట్రింగ్ ఇప్పటికే కోట్లను కలిగి ఉంటే, అవి డబుల్ కోట్లతో ఎస్కేప్ చేయబడతాయి (ఉదా. "he said ""hello"""). Excel వంటి సాఫ్ట్వేర్లు వీటిని సరిగ్గా అర్థం చేసుకుంటాయి.
5. JSON ఫైల్లో అరేలు ఉన్నాయి, కానీ అది ఆబ్జెక్ట్ల అరే కాదు. CSV ఎలా రూపొందుతుంది?
JSON ఫైల్ అరేల అరే అయితే (ఉదా. ``), ప్రతి లోపలి అరే ఒక వరుస అవుతుంది. నిలువు వరుసలకు హెడర్ వరుస ఉండదు. మీరు ఈ పేర్లను తర్వాత Excelలో మార్చుకోవచ్చు.
6. నా డేటా గోప్యత కోసం నేను అప్లోడ్ చేయకూడదు. ఈ సాధనం సురక్షితమా?
పూర్తిగా. అన్ని ప్రక్రియలు మీ బ్రౌజర్లోనే జరుగుతాయి. ఇంటర్నెట్ కనెక్షన్ అవసరం లేదు (సాధనం వెబ్సైట్ నుండి లోడ్ అయిన తర్వాత). మీ JSON ఫైల్ ఎక్కడికీ బదిలీ చేయబడదు. కాబట్టి సున్నితమైన డేటా కోసం కూడా ఇది సురక్షితం.