← Բոլոր գործիքները

CSV-ից JSON փոխարկիչ

Փոխարկեք CSV-ը JSON-ի և JSON-ը CSV-ի ուղղակիորեն ձեր բրաուզերում։ Կարգավորեք տողերն ու վերնագրերը մաքուր կերպով, մշակեք չակերտավոր դաշտերն ու բաժանիչները, և պահեք տվյալները տեղում։

CSV և JSON. նույն տվյալները փոխադրելու երկու եղանակ

Աղյուսակային տվյալների մեծ մասն ավարտվում է երկու ֆորմատներից մեկում։ CSV-ն աղյուսակների բնիկ լեզուն է. պարզ տեքստային ֆայլ, որտեղ ամեն տող մեկ տող է, և ստորակետերն առանձնացնում են սյուները։ JSON-ը API-ների և հավելվածների լեզուն է. կառուցվածքային տեքստային ֆորմատ, կառուցված օբյեկտներից (բանալի-արժեք զույգեր) և զանգվածներից (կարգավորված ցանկեր)։ Դրանք նկարագրում են նույն տեղեկատվությունը շատ տարբեր ձևերով, և հենց դա էլ պատճառն է, թե ինչու է դրանց միջև փոխարկումն այդքան հաճախ առաջանում։ Այս էջն այդ փոխարկումն անում է երկու ուղղություններով, ամբողջությամբ ձեր բրաուզերում։

CSV-ն փայլում է ցանկացած տեղ, որտեղ ցանցը բնական է թվում։ Արտահանեք հաշվետվություն տվյալների բազայից, ներբեռնեք պատվերների ցանկ, կամ պահպանեք թերթիկ Excel-ից կամ Google Sheets-ից, և գրեթե միշտ ստանում եք CSV։ Այն կոմպակտ է, մարդու համար ընթեռնելի, և Երկրի ամեն վերլուծական գործիք կարող է այն բացել։ JSON-ը փայլում է ցանկացած տեղ, որտեղ ծրագրաշարը խոսում է ծրագրաշարի հետ։ REST API-ները ուղարկում և ստանում են այն, կոնֆիգուրացիայի ֆայլերն օգտագործում են այն, և JavaScript-ը կարդում է այն առանց մեկնաբանման որևէ գրադարանի։ Երբ ձեզ հարկավոր է աղյուսակի արտահանում սնուցել API-ի մեջ կամ API-ի պատասխան քաշել աղյուսակի մեջ, դուք իրականում թարգմանում եք այս երկու աշխարհների միջև։

Փայլող CSV տողերի աղյուսակ, որը փոխակերպվում է ներդրված JSON օբյեկտների մուգ մանուշակագույն ֆոնի վրա
Հարթ CSV աղյուսակը ծալվում է ներդրված JSON օբյեկտների և զանգվածների մեջ։

Ինչպես են տողերն ու վերնագրերը դառնում օբյեկտներ

Համապատասխանությունը ավելի պարզ է, քան թվում է։ CSV ֆայլի առաջին տողը սովորաբար վերնագրի տողն է, և այդ վերնագրերի անունները դառնում են JSON-ի բանալիներ։ Ամեն հաջորդ տող դառնում է մեկ օբյեկտ, որտեղ ամեն վանդակ զուգորդվում է համապատասխան վերնագրի հետ։ Ամբողջ ֆայլը դառնում է այդ օբյեկտների զանգված։ Այսպես, name,email,age սյուներով CSV-ն դառնում է ցանկ, ինչպիսին է [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]։ Հակառակ ուղղությամբ, JSON-ից CSV-ն կարդում է առաջին օբյեկտի բանալիները՝ վերնագրի տողը կառուցելու համար, ապա գրում է մեկ տող՝ ամեն օբյեկտի համար։ Դա մաքուր, կանխատեսելի փոխադարձ ուղևորություն է, քանի դեռ ձեր տվյալները իսկապես աղյուսակային են։

Խորհրդանշական նրբությունները, որ արժե իմանալ

CSV-ն թվում է անմեղ, բայց թաքցնում է մի քանի սուր եզրեր։ Ամենամեծը վանդակի ներսում ստորակետերն են։ Եթե հասցեն պարունակում է «Berlin, Germany», ստորակետով պարզ բաժանումը այդ մեկ արժեքը կպատառոտի երկու սյան։ CSV ստանդարտն այս խնդիրը լուծում է այդպիսի վանդակները կրկնակի չակերտների մեջ փաթեթավորելով, և կրկնակի չակերտները մեջբերված վանդակի ներսում կրկնապատկվում են ("")։ Լավ փոխարկիչը հարգում է այս կանոնները, որպեսզի ձեր տվյալները լուռ սյուն չփոխեն։ Հետևեք նաև սահմանազատիչին. շատ եվրոպական արտահանումներ օգտագործում են ստորակետ-կետ ստորակետի փոխարեն, քանի որ ստորակետն այնտեղ արդեն տասնորդական բաժանարար է։ Tab-երն ու pipe-երն էլ են հանդիպում։

Ավելի խորը տարբերությունը տիպերն են։ CSV-ն ընդհանրապես տվյալների տիպի հասկացություն չունի։ Ամեն ինչ տեքստ է, ուստի 42 թիվը, true բուլյան արժեքը, և դատարկ վանդակը բոլորն էլ սովորական տողերի տեսք ունեն։ JSON-ը, ընդհակառակը, տարբերում է թվեր, տողեր, բուլյան արժեքներ, null-ը և ներդրված կառուցվածքները։ CSV-ից JSON փոխարկելիս, արժեքները հասնում են որպես տողեր, եթե գործիքին չասված է մեկնաբանել թվեր և բուլյան արժեքներ։ JSON-ից CSV փոխարկելն ունի հակառակ խնդիրը. ներդրված օբյեկտներն ու զանգվածները հարթ ցանցում մաքուր չեն տեղավորվում, ուստի սովորաբար հարթեցվում կամ վերածվում են մեկ վանդակի ներսում գտնվող տողի։ Սա նախապես իմանալը ձեզ պահում է հետագայում «ինչու է սյունը սխալ տեսք ունենում» գլուխ ջարդելուց։

Աղյուսակի ցանց, որը մորֆինգ է անում JSON փակագծերի փայլող ծառի կապույտով և ոսկեգույնով
Աղյուսակի ցանցը մորֆինգ է անում JSON փակագծերի ճյուղավորվող ծառի։

Իրական փոխադարձ ուղևորություն

Ահա մի սցենար, որ մշտապես առաջանում է։ Գործընկերն ուղարկում է ձեզ նոր օգտատերերի աղյուսակ և խնդրում է ձեզ բեռնել նրանց ներքին API-ի միջոցով։ API-ն ընդունում է միայն JSON։ Դուք թերթիկն արտահանում եք CSV-ի, տեղադրում այստեղ և ստանում մաքուր օբյեկտների զանգված՝ պատրաստ ձեր հարցումի ծանրաբեռնվածության մեջ դնելու։ Ավելի ուշ, API-ն վերադարձնում է ստեղծված գրառումների JSON ցանկ, և ձեզ հարկավոր է այն հետ հանձնել նույն գործընկերոջը վերանայման համար։ Դուք տեղադրում եք JSON-ը, փոխարկում CSV-ի, և այն ուղիղ բացվում է իրենց աղյուսակում։ Ոչ մի սկրիպտ, ոչ մի տեղադրում, պարզապես երկու արագ թարգմանություն սովորական աշխատանքային հոսքի մեջտեղում։

Միայն տեղական, հատուկ ընտրված

Այս ամենն աշխատում է ձեր բրաուզերում։ Ձեր CSV-ն և JSON-ը վերլուծվում և փոխարկվում են JavaScript-ով ձեր սեփական մեքենայի վրա, և ոչինչ չի վերբեռնվում սերվեր։ Դա կարևոր է, քանի որ արտահանումները հաճախ պարունակում են իրական անուններ, էլփոստեր, պատվերի մանրամասնություններ կամ ներքին նույնացուցիչներ, որոնք չպետք է տեղադրեք որևէ պատահական հեռակա ծառայության մեջ։ Այստեղ տվյալները երբեք չեն հեռանում էջից։ Եթե ցանկանում եք հետո արդյունքը կարգավորել, մեր JSON ձևակերպիչը կկարգավորի և կվավերացնի այն, և կարող եք դիտել մեր մյուս տվյալների փոխարկիչները հարակից ֆորմատների համար։

Հաճախ տրվող հարցեր

Իմ տվյալները վերբեռնվու՞մ են ինչ-որ տեղ։

Ոչ։ Փոխարկումն ամբողջությամբ կատարվում է ձեր բրաուզերում՝ JavaScript-ի միջոցով, ուստի ձեր CSV-ն և JSON-ը մնում են ձեր սեփական սարքում և երբեք չեն ուղարկվում սերվեր։

Փոխարկիչը մշակու՞մ է ստորակետերը վանդակների ներսում։

Այո։ Ստորակետեր պարունակող վանդակները պետք է փաթեթավորված լինեն կրկնակի չակերտների մեջ CSV-ում, և վերլուծիչը հարգում է այդ չակերտները, որպեսզի արժեքը մնա մեկ սյան մեջ։

Ինչու՞ են իմ թվերն ի հայտ գալիս որպես տեքստ JSON-ում։

CSV-ն տվյալների տիպեր չունի, ուստի ամեն վանդակ պարզ տեքստ է։ Արժեքները դառնում են JSON տողեր, եթե չկիրառվի թվերի և բուլյան արժեքների վերլուծություն, քանի որ աղբյուր ֆայլն ուղղակի եղանակ չունի թիվը բառից տարբերելու։

Ի՞նչ է պատահում ներդրված JSON-ին, երբ փոխարկում եմ CSV-ի։

Հարթ ցանցը չի կարող պահել ներդրված կառուցվածքներ, ուստի ներդրված օբյեկտներն ու զանգվածները սովորաբար հարթեցվում կամ գրվում են որպես մեկ վանդակի ներսում գտնվող տողային արժեք։

Կարո՞ղ եմ ստորակետի փոխարեն օգտագործել ստորակետ-կետ կամ tab։

Այո։ Շատ արտահանումներ, հատկապես եվրոպականները, օգտագործում են ստորակետ-կետ կամ tab-եր որպես սահմանազատիչ, և գործիքը կարող է դրանք կարդալ ստանդարտ ստորակետի փոխարեն։

Այն փոխարկու՞մ է երկու ուղղություններով։

Այո։ Կարող եք CSV-ն վերածել JSON-ի, և JSON-ը՝ հետ CSV-ի, ինչը հեշտացնում է աղյուսակների ու API-ների միջև փոխադարձ ուղևորությունները։