JSON થી CSV રૂપાંતરણ શું છે?
JSON (JavaScript Object Notation, RFC 8259) એ સંરચિત ડેટા માટેનું વૃક્ષ-આકારનું લખાણ ફોર્મેટ છે; CSV (Comma-Separated Values, RFC 4180) એ સપાટ, કોષ્ટક-આકારનું લખાણ ફોર્મેટ છે. JSON ને CSV માં ફેરવવાથી એ વૃક્ષ પંક્તિઓ અને કૉલમમાં સપાટ થઈ જાય છે, એટલે જે ડેટાસેટ API પ્રતિસાદ તરીકે જન્મ્યો હતો તે એક પણ પંક્તિ ફરી ટાઇપ કર્યા વગર સ્પ્રેડશીટમાં સ્વચ્છપણે ખૂલે છે.
JSON થી CSV રૂપાંતરણ કેવી રીતે કામ કરે છે?
દરેક conversion તમારા બ્રાઉઝરમાં સ્થાનિક રીતે ચાલે. ઉચ્ચ-સ્તરના પગલાં:
JSON.parseઇનપુટને માન્ય કરે છે અને પુષ્ટિ કરે છે કે તે રેકોર્ડની ટોપ-લેવલ એરે છે. જો બ્રૅકેટ, અલ્પવિરામ કે ક્વોટ-થયેલ કીઓ બંધબેસતી ન હોય તો સ્પષ્ટ ભૂલ દેખાય છે.- રાઇટર તમારા રેકોર્ડમાંથી હેડર કૉલમ તારવે છે. ટોગલ પ્રમાણે એ કાં તો જોવા મળેલી દરેક કીનો સંઘ હોય છે, અથવા ફક્ત પહેલા રેકોર્ડની કીઓ હોય છે.
- નેસ્ટેડ ઑબ્જેક્ટ્સ ડોટ-કીઓમાં (
user.id,user.city) સપાટ કરાય છે અથવા તમારી પસંદ પ્રમાણે એક જ JSON સેલ તરીકે ક્રમબદ્ધ થાય છે. ઑબ્જેક્ટ્સની અંદરની એરે બંને રીતે JSON-સ્ટ્રિંગિફાય થાય છે. - દરેક સેલ RFC 4180 પ્રમાણે એસ્કેપ થાય છે: સીમાંકક, ડબલ ક્વોટ કે લાઇન-બ્રેક ધરાવતું કોઈપણ મૂલ્ય ક્વોટમાં વીંટાળાય છે, અને અંદરના ક્વોટ બમણા કરાય છે. પંક્તિઓ
\r\nલાઇન-અંત સાથે જોડાય છે. - CSV ફક્ત-વાંચન માટેના આઉટપુટ બૉક્સમાં ઊતરે છે, અને ડાઉનલોડ લિંક
text/csv;charset=utf-8MIME પ્રકાર સાથે એકBlobબનાવે છે, જેથી તમે ફાઇલને એક ક્લિકમાં સાચવી શકો.
આ ટૂલથી JSON ને CSV માં શા માટે બદલવું?
- ગોપનીયતા: દરેક પાર્સ, સપાટ કરવાનો, અને લખવાનો પાસ તમારા બ્રાઉઝરમાં થાય છે. ડેટા ક્યારેય અમારા સર્વર સુધી પહોંચતો નથી.
- ચોકસાઈ: રાઇટર RFC 4180 નું પાલન કરે છે.
Bob, Jr.જેવું મૂલ્ય"Bob, Jr."તરીકે પાછું આવે છે — એક ક્વોટ-થયેલ સેલ, બે કૉલમ નહીં — અને અંતર્ગત ન્યૂલાઇન કે ક્વોટ રાઉન્ડ-ટ્રિપમાં અકબંધ રહે છે. - સ્પ્રેડશીટ-તૈયાર: આઉટપુટ સીધું જ Excel કે Google Sheets માં પેસ્ટ થાય છે, હેડર કૉલમ તમારી કીઓમાંથી પહેલેથી તારવેલા હોય છે, એટલે ડેટા વાપરવા યોગ્ય બને એ પહેલાં કોઈ મેન્યુઅલ સફાઈ કરવી પડતી નથી.
- લવચીકતા: નેસ્ટેડ ઑબ્જેક્ટ્સને ડોટ-કીઓમાં સપાટ કરો કે એક જ સેલ તરીકે સ્ટ્રિંગિફાય કરો, અલ્પવિરામ સિવાયની CSV બોલીઓ માટે કોઈપણ સીમાંકક પસંદ કરો, અને હેડર દરેક કીમાંથી આવે કે ફક્ત પહેલા રેકોર્ડમાંથી તે પસંદ કરો.
JSON થી CSV રૂપાંતરણના સામાન્ય ઉપયોગો કયા છે?
JSON ને CSV માં સપાટ કરવાનું કામ ડેટા-કાર્ય અને ટૂલિંગમાં ઠેરઠેર દેખાય છે:
- ડેટા નિકાસ: API પ્રતિસાદને CSV ફાઇલમાં ફેરવવો, જેથી તમારી ફાઇનાન્સ, ઑપ્સ કે પ્રોડક્ટ ટીમ કોડ લખ્યા વગર તેને Excel કે Google Sheets માં ખોલી શકે.
- રિપોર્ટિંગ: JSON ક્વેરી પરિણામને પિવોટ ટેબલ, ચાર્ટ કે ફોર્મ્યુલાની ઝડપી કૉલમ માટે સ્પ્રેડશીટમાં મૂકવું. એ પ્રકારનું કામ કાચા JSON સામે કરવું પીડાદાયક હોય છે.
- સ્પ્રેડશીટ સમીક્ષા: નેસ્ટેડ JSON રૂપરેખાંકન (સેટિંગ્સ, ફીચર ફ્લેગ, A/B વેરિઅન્ટ્સ) ને CSV માં સપાટ કરવું, જેથી બિન-તકનીકી સમીક્ષકો તેને સેલ-દર-સેલ વાંચી અને સંપાદિત કરી શકે.
JSON થી CSV ઉદાહરણ કેવું દેખાય છે?
[{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] પેસ્ટ કરો, સીમાંકક અલ્પવિરામ પર રહેવા દો, અને CONVERT દબાવો. તમને ત્રણ પંક્તિ મળે છે: એક name,age હેડર પંક્તિ, એક Alice,30 ડેટા પંક્તિ, અને એક "Bob, Jr.",25 પંક્તિ. એ અંતર્ગત અલ્પવિરામ જ ભોળા જોડાણને ભૂલ કરાવે છે — અહીં તે RFC 4180 ક્વોટિંગ સક્રિય કરે છે, એટલે સેલ આખો રહે છે.
શું આ JSON થી CSV કન્વર્ટર સંપૂર્ણપણે મારા બ્રાઉઝરમાં ચાલે છે?
હા. દરેક પાર્સ, સપાટ કરવાનો, અને લખવાનો પાસ તમારા બ્રાઉઝર ટૅબની અંદર JavaScript તરીકે સ્થાનિક રીતે ચાલે છે. આ સાધન fetch, XMLHttpRequest, કે navigator.sendBeacon ને બિલકુલ બોલાવતું નથી, એટલે તમારા JSON પેલોડ ક્યારેય અમારા સર્વર, કોઈ થર્ડ-પાર્ટી કન્વર્ટર, કે કોઈ એનાલિટિક્સ પાઇપલાઇન સુધી પહોંચતા નથી. પૃષ્ઠ એક વાર લોડ થઈ ગયા પછી આ સાધન ઑફલાઇન પણ કામ કરે છે, કારણ કે તે કોઈ રનટાઇમ API અવલંબન વગરનું એક સ્થિર HTML/CSS/JS બંડલ છે.
આ કન્વર્ટર કેટલા કદ સુધીના ઇનપુટને સંભાળી શકે છે?
કન્વર્ટર સમગ્ર ઇનપુટને મેમરીમાં બફર કરે છે અને મુખ્ય થ્રેડ પર સમકાલિક રીતે ચાલે છે, એટલે વ્યવહારુ મર્યાદાઓ તમારા ઉપકરણ પર આધાર રાખે છે. આધુનિક લૅપટૉપ પર લગભગ 10 MB સુધીની JSON એરે (આશરે 1,00,000 સામાન્ય રેકોર્ડ) કોઈ નોંધપાત્ર અટકાવ વગર CSV માં સપાટ થઈ જાય છે. તેનાથી આગળ રાઇટર ચાલતો હોય ત્યારે UI અટકી શકે છે. Web Worker અને ખંડ-આધારિત રાઇટર વાપરીને સ્ટ્રીમ થયેલ રૂપાંતર એ આયોજિત આગામી સુધારો છે — હાલમાં, બહુ મોટા ડેટાસેટ પેસ્ટ કરતાં પહેલાં તેમને વિભાજિત કરી લો.
રાઇટર અલ્પવિરામ, ક્વોટ કે ન્યૂલાઇન ધરાવતાં મૂલ્યોને કેવી રીતે સંભાળે છે?
RFC 4180 પ્રમાણે. સક્રિય સીમાંકક, ડબલ ક્વોટ, એક CR, કે એક LF ધરાવતું કોઈપણ મૂલ્ય ડબલ ક્વોટમાં વીંટાળાય છે, અને અંદરના ક્વોટ બમણા કરાય છે. એટલે Bob, Jr. જેવું નામ બે કૉલમમાં ફેલાવાને બદલે "Bob, Jr." એ એક જ સેલ બને છે, અને બહુ-પંક્તિ વર્ણન પંક્તિ તોડવાને બદલે એક જ સેલમાં રહે છે. આ એ ભાગ છે જે ભોળું join(',') ખોટું કરે છે.
CSV માં બદલતી વખતે નેસ્ટેડ JSON ઑબ્જેક્ટ્સનું શું થાય છે?
નેસ્ટેડ ઑબ્જેક્ટ્સ નેસ્ટેડ ઑબ્જેક્ટ્સ ટોગલ પ્રમાણે સંભાળાય છે. સપાટ મોડ (ડિફૉલ્ટ) માં કીઓ ડોટથી જોડાય છે — {"user":{"id":1,"city":"Paris"}} એ user.id અને user.city કૉલમ બની જાય છે. સ્ટ્રિંગિફાય મોડ માં નેસ્ટેડ ઑબ્જેક્ટ RFC 4180 ક્વોટ-એસ્કેપ અકબંધ રાખીને એક જ JSON સેલ મૂલ્ય તરીકે ક્રમબદ્ધ થાય છે, જે રાઉન્ડ-ટ્રિપિંગ માટે તેની સંરચના સાચવી રાખે છે. ઑબ્જેક્ટ્સની અંદરની એરે બંને મોડમાં JSON-સ્ટ્રિંગિફાય થાય છે.
CSV આઉટપુટ કયા સીમાંકકો વાપરી શકે છે?
ચાર: અલ્પવિરામ (,, RFC 4180 ડિફૉલ્ટ), અર્ધવિરામ (;, યુરોપીય લોકેલમાં સામાન્ય), ટૅબ (\t, TSV બોલી), અને પાઇપ (|). તમારું આગળનું ટૂલ જે અપેક્ષે તે પસંદ કરો. રાઇટર પસંદ કરેલા સીમાંકકને ધરાવતા કોઈપણ સેલને એસ્કેપ કરે છે, એટલે પસંદગી ક્યારેય મૂલ્યને બગાડતી નથી.
આ JSON થી CSV કન્વર્ટર તમારી એરેને સપાટ કરે છે અને RFC 4180-અનુરૂપ આઉટપુટ આપે છે જેને તમે એક પણ બાઇટ અપલોડ કર્યા વગર સીધું જ સ્પ્રેડશીટ, રિપોર્ટ કે કોડ સમીક્ષામાં પેસ્ટ કરી શકો. ઊલટું જોઈએ છે? CSV થી JSON કન્વર્ટર બીજી દિશામાં પાર્સ કરે છે.