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

Փոխարկեք JSON-ը CSV-ի առցանց՝ անվճար, ակնթարթային և գաղտնի: Ձեր ֆայլը մշակվում է Ձեր բրաուզերում և երբեք չի վերբեռնվում սերվեր:

CSV բաժանիչ
Արդյունք

Փոխարկված ֆայլերը և նախադիտումը կհայտնվեն այստեղ:

Պատրաստ է: Ընտրեք աղյուսակային ֆայլ՝ փոխարկելու համար:

Ինչպես է աշխատում փոխարկումը

  • Օբյեկտների զանգվածը վերածվում է տողերի և սյունակների. ներդրված օբյեկտները հարթեցվում են կետով բաժանված սյունակների, ինչպես օրինակ՝ address.city:
  • Ընտրեք Ձեր տվյալներին համապատասխանող բաժանիչը՝ ստորակետ, կետ-ստորակետ կամ տաբուլյացիա:

Ձեր աղյուսակային ֆայլը փոխարկվում է հենց Ձեր բրաուզերում: Ոչ մի տվյալ չի ուղարկվում BroBroGo սերվերներին:

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

Ինչպե՞ս փոխարկել JSON-ը CSV-ի:

Քաշեք Ձեր JSON ֆայլը և սեղմեք փոխարկել. CSV ֆայլը պատրաստ կլինի ներբեռնման վայրկյանների ընթացքում՝ արդյունքի նախադիտմամբ: Ամեն ինչ կատարվում է Ձեր սարքում:

Որքա՞ն մեծ ֆայլ կարող եմ փոխարկել:

Մինչև 8 ՄԲ, 10,000 տող և 200 սյունակ յուրաքանչյուր ֆայլի համար: Ավելի մեծ տվյալների հավաքածուները նախապես բաժանեք ավելի փոքր ֆայլերի:

Ի՞նչ է անում այս գործիքը

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

Ինչո՞վ է այն տարբերվում

Ի տարբերություն CSV-ից Excel կամ Excel-ից JSON փոխարկումների, այս ուղղությունը հարթեցնում է հիերարխիկ, տիպավորված տվյալների ձևաչափը՝ վերածելով այն հարթ, ոչ տիպավորված աղյուսակի։ JSON-ն աջակցում է օբյեկտներին, զանգվածներին, թվերին, բուլյան արժեքներին և null-ին՝ ներդրված կառույցներում։ CSV-ն չունի տիպեր, չունի ներդրում և չունի թերթեր։ Փոխարկումն ընկնում է տիպերի ամբողջ տեղեկատվությունը, ներդրված կառույցները, բազմաթիվ թերթերը (JSON-ում դրանք գոյություն չունեն) և ձևաչափումը։ Ներդրված JSON օբյեկտները հարթ CSV-ում ներկայացնելու համար գործիքը հարթեցնում է օբյեկտի բանալիները՝ օգտագործելով կետային նշումը (dot‑path notation), օրինակ՝ address.city։ Օբյեկտների զանգվածները դառնում են աղյուսակի տողեր, իսկ զանգվածների զանգվածները մնում են որպես տողեր։ Քանի որ CSV-ն օգտագործում է բաժանարարներ, ներկառուցված ստորակետներն ու տողադարձերը պետք է փակցվեն չակերտների մեջ – գործիքը դա անում է ավտոմատ, սակայն թվերի սկզբի զրոները կարող են կորչել։ Դուք պետք է որոշեք, թե ինչպես պետք է ներկայացվեն ներդրված դաշտերը նախքան փոխարկումը (գործիքն օգտագործում է կետային ուղիները լռելյայն)։

Ինչպես է աշխատում փոխարկումը

Փոխարկման գործընթացը կարելի է բաժանել մի քանի փուլերի.

  1. Վավերացում – Ստուգվում է, որ JSON ֆայլը գոյություն ունի, ունի թույլատրելի չափ և «աղյուսականման» կառույց է (միայն օբյեկտների զանգված կամ զանգվածների զանգված)։ Հակառակ դեպքում ցուցադրվում է սխալի հաղորդագրություն, օրինակ՝ «This JSON is invalid or not table‑shaped.»:
  2. Վերլուծություն – JSON-ը վերլուծվում է հիշողության մեջ։ Եթե առաջին մակարդակը զանգված է, ապա յուրաքանչյուր տարր մեկնաբանվում է որպես տող։
    • Օբյեկտների զանգված – յուրաքանչյուր օբյեկտ դառնում է տող, օբյեկտի բանալիները՝ սյունակներ, իսկ ներդրված օբյեկտները հարթեցվում են կետային ուղիների միջոցով (օրինակ address.city`)։
    • Զանգվածների զանգված – յուրաքանչյուր ներքին զանգված դառնում է տող, տարրերը դառնում են սյունակներ (առանց օբյեկտի բանալիների)։
  3. Տիպերի կորուստ – JSON-ի բոլոր տիպերը (թվեր, բուլյան, null) վերածվում են տողերի CSV-ում։ Օրինակ, 123.45-ը դառնում է «123.45», true-ը՝ «true», null-ը՝ «null» (կամ դատարկ տող, կախված իրականացումից, բայց գործիքը արժեքը վերածում է տողի)։ Սկզբի զրոները (օր. 00123) կորցնում են, քանի որ CSV-ն դրանք մեկնաբանում է որպես թվեր, եթե հատուկ չեն փակցվել։
  4. CSV ձևավորում – Գործիքը ավելացնում է բաժանարարներ (ընտրված ստորակետ, կետ-ստորակետ կամ տաբուլյացիա) և ավտոմատ կերպով փակցնում է արժեքները չակերտների մեջ, եթե դրանք պարունակում են բաժանարար, տողադարձ կամ չակերտ։ CSV ստանդարտը (RFC 4180) պահանջում է, որ չակերտներ պարունակող դաշտերը փակցվեն կրկնակի չակերտներով, և գործիքը հետևում է այդ կանոնին։
  5. Նախադիտում – Օգտագործողը տեսնում է աղյուսակը մինչև ներբեռնումը, ինչպես նաև տողերի և սյունակների քանակը, ելքային ֆայլի չափը։
  6. Ներբեռնում – CSV ֆայլը ստեղծվում է Blob-ի միջոցով և առաջարկվում է ներբեռնել։

Այս գործընթացը լիովին աշխատում է զննարկչի կողմում. տվյալները երբեք չեն հեռանում ձեր սարքից։ Սա նշանակում է, որ դուք կարող եք աշխատել նույնիսկ անցանց ռեժիմում, բայց գործիքը պահանջում է սկզբնական բեռնում (որպես վեբ էջ)։

Մուտքային և ելքային տվյալներ

Մուտք Ելք
Մեկ JSON ֆայլ (ընդունվում են նաև CSV, XLSX, սակայն այս էջի համար միայն JSON-ն է համապատասխան) CSV ֆայլ՝ պատրաստ ներբեռնման
CSV բաժանարարի ընտրություն (ստորակետ, կետ-ստորակետ, տաբուլյացիա) Աղյուսակի նախադիտում
Տողերի և սյունակների քանակ
Ելքային ֆայլի չափը (բայթերով)

Գործիքը ցույց է տալիս նաև սխալի հաղորդագրություններ հետևյալ դեպքերում.

  • «Choose one file first.» – եթե ֆայլ ընտրված չէ:
  • «Choose a CSV, JSON or XLSX file.» – եթե ֆայլի տեսակը չի համապատասխանում:
  • «Choose a different output format.» – եթե ելքային ձևաչափը չի համընկնում CSV-ի հետ (այլ էջերում):
  • «This file is too large. Use a file under ‹max›.» – գերազանցվել է ֆայլի առավելագույն չափը:
  • «This table has more than ‹max› rows.» – տողերի առավելագույն քանակի գերազանցում:
  • «This table has more than ‹max› columns.» – սյունակների առավելագույն քանակի գերազանցում:
  • «This JSON is invalid or not table‑shaped.» – JSON-ը սխալ է կամ ոչ աղյուսականման:
  • «Could not convert this file.» – ընդհանուր սխալ:
  • «Conversion cancelled.» – չեղարկում:
  • «This conversion is taking too long. Try a smaller file.» – ժամանակի սահմանափակում:

Սահմանափակումներ և հնարավոր խնդիրներ

CSV-ի հիմնական սահմանափակումը տիպերի և կառույցի կորուստն է։ Քանի որ JSON-ը կարող է ունենալ խիստ ներդրված օբյեկտներ, հարթեցումը պարտադիր է, սակայն այն կարող է առաջացնել սյունակների մեծ քանակ, եթե ներդրման խորությունը մեծ է։ Օրինակ, համարենք հետևյալ JSON-ը.

[
  {
    "name": "Alice",
    "address": {
      "city": "Yerevan",
      "geo": {
        "lat": 40.18,
        "lng": 44.51
      }
    }
  }
]

CSV-ում այն կունենա երեք սյունակ՝ name, address.city, address.geo.lat, address.geo.lng (եթե երկրորդ օբյեկտն ունի նույն կառույցը, հակառակ դեպքում կարող են առաջանալ բաց թողնված արժեքներ)։ Կան նաև հետևյալ կետերը.

  • Թվային սկզբի զրոներ – Եթե JSON-ում կա «00123», CSV-ն այն կվերածի 123, քանի որ CSV-ն չի պահպանում ձևաչափումը։ Խնդիրը կարելի է մեղմել՝ արժեքը տող դարձնելով JSON-ում (օր. "00123"), բայց գործիքը չի կարող իմանալ, թե որ արժեքը պետք է պահպանել։
  • Ներդրված ստորակետեր և տողադարձեր – CSV ստանդարտը պահանջում է չակերտավորում, գործիքը դա անում է ավտոմատ, սակայն եթե արժեքն արդեն պարունակում է չակերտներ, դրանք կրկնապատկվում են (օր. He said "hello" դառնում է "He said ""hello"""
  • Բազմաթիվ թերթերի բացակայություն – JSON-ը չունի թերթերի հայեցակարգ, այնպես որ փոխարկումը մեկ թերթով CSV է։ Եթե JSON-ը պարունակում է մի քանի անկախ զանգվածներ, դրանք չեն կարող միաժամանակ փոխարկվել. գործիքը կփորձի մեկնաբանել ամբողջ ֆայլը որպես մեկ աղյուսակ։
  • Զանգվածների ներդրում – Եթե JSON-ում օբյեկտի դաշտը զանգված է (օր. tags: ["a","b"]), ապա այն կվերածվի մեկ տողի, օրինակ "a,b"` (եթե բաժանարարը ստորակետ է, կարող է շփոթություն առաջանալ)։ Գործիքն այս դեպքում չի ստեղծում մի քանի տող, քանի որ այն հարթեցնում է միայն օբյեկտները, ոչ թե զանգվածները։
  • Client-side processing – Բոլոր սահմանափակումները (ֆայլի չափ, տողերի/սյունակների քանակ) կիրառվում են զննարկչի հիշողության սահմանափակումների պատճառով։ Խոշոր ֆայլերը կարող են հանգեցնել դանդաղ աշխատանքի կամ ժամանակի գերազանցման։

Ում համար է այս գործիքը

  • API մշակողների համար – Հաճախ API-ները վերադարձնում են JSON, որը պետք է ներմուծել Excel կամ Google Sheets: Գործիքը թույլ է տալիս արագորեն ստանալ CSV՝ առանց սերվերային գործիքների օգտագործման:
  • Տվյալների վերլուծաբանների համար – Երբ պետք է կառուցվածքային JSON տվյալները վերածել հարթ աղյուսակի՝ հետագա վերլուծության կամ զեկույցների համար:
  • Գաղտնիության զգայուն աշխատանքային հոսքերում – Քանի որ տվյալները չեն լքում զննարկիչը, կարելի է աշխատել անձնական տվյալների հետ՝ առանց դրանք երրորդ կողմի սերվերին ուղարկելու:
  • Համակարգչային ոչ մասնագետների համար – Օգտագործողները, ովքեր ստանում են JSON ֆայլ (օրինակ՝ կայքի արտահանում) և ցանկանում են բացել այն Excel-ում, կարող են օգտվել այս գործիքից՝ առանց ծրագրավորման հմտությունների:
  • Տեղայնացման կարիքների համար – Երբ անհրաժեշտ է CSV ստորակետի փոխարեն կետ-ստորակետով (օրինակ՝ որոշ եվրոպական երկրներում Excel-ի լռելյայն բաժանարարը կետ-ստորակետն է), գործիքն առաջարկում է ընտրել բաժանարարը:

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

1. Կարո՞ղ եմ փոխարկել մի քանի JSON ֆայլ միաժամանակ:

Ոչ, գործիքը ընդունում է միայն մեկ ֆայլ: Եթե ունեք մի քանի ֆայլեր, պետք է դրանք մեկ առ մեկ փոխարկել:

2. Ինչու՞ են իմ թվերի սկզբի զրոները կորչում:

CSV ձևաչափը չի պահպանում ձևաչափման մասին տեղեկությունը: Երբ թվային արժեքը (օր. 007) գրվում է CSV-ում, այն մեկնաբանվում է որպես թիվ 7: Եթե անհրաժեշտ է պահպանել սկզբի զրոները, JSON-ում արժեքը պետք է լինի տող (չակերտներով): Գործիքը ավտոմատ կերպով չի կարող իմանալ, թե որ արժեքները պետք է մնան տող:

3. Ի՞նչ է նշանակում «table‑shaped» JSON:

Այն նշանակում է, որ JSON-ի արմատային կառույցը պետք է լինի օբյեկտների միատարր զանգված (բոլոր օբյեկտներն ունեն նույն բանալիները) կամ զանգվածների զանգված (ներքին զանգվածները նույն երկարությամբ): Այլ կառույցները, ինչպիսիք են մեկ օբյեկտը կամ խառը տիպերի զանգվածը, չեն համարվում աղյուսականման:

4. Կարո՞ղ եմ փոխարկել JSON-ը, որը պարունակում է nested arrays (ներքին զանգվածներ):

Այո, եթե JSON-ը զանգվածների զանգված է (array of arrays), ապա յուրաքանչյուր ներքին զանգված դառնում է տող, իսկ տարրերը՝ սյունակներ: Եթե ներքին զանգվածները տարբեր երկարություն ունեն, ապա ավելի կարճ տողերում բաց թողնված սյունակները կլինեն դատարկ:

5. Ո՞ր բաժանարարն ընտրել:

Դա կախված է նրանից, թե որ ծրագրում եք բացել CSV-ն: Excel-ը (Windows-ի համար) հաճախ սպասում է ստորակետ, բայց որոշ տեղայնացումներում (օր.՝ ռուսական, գերմանական) կետ-ստորակետ: Google Sheets-ը սովորաբար աշխատում է ստորակետով: Տաբուլյացիան հարմար է, եթե ցանկանում եք ներմուծել տվյալները տեքստային խմբագրիչներում:

6. Արդյո՞ք գործիքը աշխատում է անցանց:

Այո, քանի որ բոլոր հաշվարկները կատարվում են զննարկչում, էջը մեկ անգամ բեռնելուց հետո այն կարող է աշխատել առանց ինտերնետ կապի (եթե զննարկիչը թույլ է տալիս Service Workers, բայց ստանդարտ վեբ էջի համար առնվազն մեկ անգամ պետք է բեռնել): Այնուամենայնիվ, տվյալները երբեք չեն լքում ձեր համակարգիչը: