Конвертор из CSV у JSON

Претворите CSV у JSON онлајн — бесплатно, тренутно и приватно. Ваша датотека се обрађује у Вашем прегледачу и никада се не отпрема на сервер.

CSV раздвојник
Резултат

Конвертоване датотеке и преглед ће се појавити овде.

Спремно. Изаберите табеларну датотеку за конверзију.

Како конверзија функционише

  • Први ред се чита као заглавље — његове ћелије постају називи поља у JSON-у, а сваки следећи ред постаје један објекат.
  • Изаберите граничник који одговара Вашим подацима — зарез, тачка-зарез или табулатор.

Ваша табеларна датотека се конвертује у вашем прегледачу. Ништа се не шаље на BroBroGo.

Честа питања

Како да претворим CSV у JSON?

Превуците своју CSV датотеку и кликните на дугме за конверзију — JSON датотека је спремна за преузимање за неколико секунди, уз преглед резултата. Све се извршава на Вашем уређају.

Колико велику датотеку могу да конвертујем?

До 8 MB, 10.000 редова и 200 колона по датотеци. Веће скупове података је најбоље прво поделити на мање датотеке.

CSV у JSON: Како табеларни подаци постају структурирани објекти

Шта ову конверзију чини другачијом

Када превлачите CSV датотеку на овај алат, ви заправо преводите равну табелу у низ JavaScript објеката. Сваки ред постаје један објекат, свака колона постаје кључ. Али три ствари издвајају ову конверзију од свих осталих на сајту.

Прва: CSV не познаје типове података. Свако поље у CSV-у је низ знакова — бројеви, датуми, поштански бројеви са водећим нулама, све је текст. Када конвертујете у JSON, свака вредност из изворног CSV-а се третира као стринг. Ако очекујете да ће "42" постати број 42 или да ће "2023-01-15" постати датум, сами морате да обавите ту конверзију након преузимања. Алат не нуди опцију за аутоматско препознавање типова.

Друга: CSV је строго равна структура. Не постоји начин да се угнезде објекти — не можете имати адресу као под-објекат унутар контакта, нити низ ставки унутар наруџбине. Сваки ред производи равни објекат са равним кључевима. Ако вам треба хијерархијски JSON, мораћете да га накнадно обрадите. Обратни правац — JSON у CSV — мора да спљошти угнежђене структуре, али овај алат то не ради.

Трећа: delimiter је критичан. CSV може да користи запету, тачку-зарез или табулатор. Ако изаберете погрешан, резултат ће бити нечитљив. Овде морате експлицитно да наведете који знак раздваја колоне.

Поред тога, цитирана поља са уграђеним зарезима и преломима редова су крхка. CSV стандард (RFC 4180) дефинише правила за наводнике, али их многи програми не поштују доследно. Ако ћелија садржи зарез, мора бити обмотана наводницима. Ако садржи наводник, мора бити удвојен. Ако садржи прелом реда, цела ћелија мора бити у наводницима. Свако одступање доводи до неуспешног парсирања.

Како CSV чува податке — и шта то значи за JSON

CSV датотека је обичан текст. Ево примера једноставне табеле производа:

ID,Назив,Цена,Датум
001,Млеко,1.99,2024-01-10
002,Хлеб,0.89,2024-01-10
003,Сир,4,50,2024-01-15

Приметите нешто? Трећи ред садржи вредност 4,50 са зарезом. У српској локализацији, зарез се користи као децимални знак. Али CSV парсер види зарез и мисли да су то две колоне. Резултат — грешка у парсирању. Одговарајући JSON би изгледао овако:

[
  {"ID": "001", "Назив": "Млеко", "Цена": "1.99", "Датум": "2024-01-10"},
  {"ID": "002", "Назив": "Хлеб", "Цена": "0.89", "Датум": "2024-01-10"}
]

Све вредности су стрингови. Водећа нула у 001 је сачувана. Када бисте овај JSON учитали у JavaScript и применили JSON.parse, "001" би и даље био стринг. Али ако га увезете у базу која аутоматски конвертује бројеве, водећа нула би нестала.

Водеће нуле и интегритет података

Водеће нуле су чест разлог зашто људи преферирају овај алат. Поштански бројеви, матични бројеви, продукт кодови — сви они почињу нулама у CSV-у. Excel их често аутоматски уклања, третирајући их као бројеве. CSV фајл их чува као текст. Овај алат их чува као стрингове у JSON-у.

Али опрез: када преузети JSON отворите у неком другом алату, он може поново да изгуби нуле. На пример, Python-ова библиотека json.load() ће вратити стрингове, али ако их касније проследите функцији која очекује цео број, водећа нула ће нестати. Решење: увек обрађујте ID-ове као стрингове, без обзира на формат у ком су приказани.

Гранични случајеви који могу да вас зауставе

Алат приказује специфичне поруке грешака. Ево шта свака значи и зашто се дешава.

"This CSV could not be parsed." — Ово је најчешћа грешка. Узроци: наводници који нису прописно затворени, ћелија садржи прелом реда без наводника, или редови имају различит број колона. На пример:

Име,Презиме,Телефон
Петар,Петровић,011/123-456
Јована,Јовановић,"Булевар ослобођења 10",021/987-654

Други ред има три колоне, трећи има четири. Парсер не зна шта да ради са вишком вредности.

"This file has no table rows." — Датотека садржи само заглавље или је потпуно празна. Ако први ред садржи имена колона, али нема редова испод, добићете ову поруку.

"This table has more than ‹max› rows." и "This table has more than ‹max› columns." — Алат има техничка ограничења. Не можете конвертовати датотеку са више од 10.000 редова или 200 колона.

"This file is too large. Use a file under ‹max›." — Ограничење величине датотеке се односи на цео фајл, не на број редова. Уобичајена граница је 8 MB. Ако имате велики CSV, размислите о компресовању или сечењу у мање делове.

"Choose one file first." — Нисте изабрали датотеку пре него што сте кликнули на дугме за конверзију.

"Choose a CSV, JSON or XLSX file." — Формат није подржан. Алат прихвата само три типа: CSV, JSON и Excel (XLSX). Ако имате TSV или неки други формат, преименујте га или конвертујте у подржани облик.

"This conversion is taking too long. Try a smaller file." — Алат ради у прегледачу. Велике датотеке могу да преоптереће JavaScript мотор. Ако конверзија траје дуже од око 12 секунди, зауставља се.

Ко користи ову конверзију и зашто

Програмер добија CSV извоз из базе и треба да га убаци у JavaScript апликацију или API. Уместо да ручно преписује податке, превлачи фајл и преузима JSON.

Аналитичар података има стару CSV адресарску датотеку са поштанским бројевима који почињу нулама. Жели да сачува те нуле. Алат их третира као стрингове.

Тим сарађује: нетехнички колега ради у Excel-у, али технолошки стек захтева JSON. Уместо да шаљу осетљиве податке на сервер, конвертују их локално у прегледачу.

Студент истраживач припрема табелу резултата за програмерски задатак. Треба му структуриран формат. CSV би био довољан, али задатак захтева JSON.

Како правилно користити алат — корак по корак

  1. Припремите CSV датотеку. Проверите да ли су сва поља исправно цитирана. Ако ћелија садржи зарез, прелом реда или наводник, обмотите је двоструким наводницима. На пример: "Петар, Петровић","Адреса са, зарезом","011/123-456". Удвостручите наводнике унутар ћелије: "Каже: ""Здраво""".

  2. Отворите алат и превуците датотеку. Кликните на област за отпремање или превуците фајл преко ње.

  3. Изаберите delimiter. Ако ваш CSV користи запету — изаберите Comma. Ако користи тачку-зарез (често у европским локализацијама) — изаберите Semicolon. Ако користи табулатор — изаберите Tab. Погрешан избор ће произвести JSON са свим вредностима у једном низу или са непотпуним објектима.

  4. Прегледајте резултат. Алат приказује преглед конвертованих података (првих 8 редова и 8 колона), број редова и колона, и величину излазне датотеке. Проверите да ли се очекивани број редова поклапа. Ако видите мање редова него што сте очекивали, могуће је да је део података изгубљен због грешке у парсирању.

  5. Преузмите JSON. Кликните на дугме за преузимање. Сачувајте фајл са екстензијом .json.

Често постављана питања

Зашто мој JSON садржи све стрингове чак и када у CSV-у изгледају као бројеви? CSV чува све податке као текст. Алат не покушава да погоди типове. Ако вам требају бројеви, морате их конвертовати након преузимања — било у програмском језику који користите, било ручним уређивањем JSON-а. Не постоји опција за аутоматско препознавање типова.

Како да сачувам водеће нуле у JSON-у? Алат их чува као стрингове. Само немојте да их ручно претварате у бројеве. Ако их увезете у алат који аутоматски конвертује бројеве, водеће нуле ће нестати. Увек третирајте ID-ове, поштанске бројеве и сличне вредности као текст.

Могу ли да конвертујем Excel датотеку у JSON? Да. Алат прихвата XLSX фајлове. Прво их интерпретира као табеле, а затим конвертује у JSON. Процес је исти као за CSV.

Зашто ми се појављује "This CSV could not be parsed." када је мој CSV исправан? Могући узроци: нецитиране ћелије које садрже зарез, нецитирани преломи редова, или неједнак број колона у редовима. Проверите да ли сваки ред има исти број вредности. Користите алат који прегледа CSV датотеку и показује где се грешка налази. Ако имате проблема, покушајте да поново сачувате CSV из изворног програма са експлицитним цитирањем свих поља.

Да ли конверзија ради без слања података на сервер? Да. Сва обрада се обавља у вашем прегледачу. Подаци никада не напуштају ваш рачунар. Ово је кључно ако радите са осетљивим информацијама. Можете да конвертујете датотеке са личним подацима без бриге о приватности.

Која је максимална величина датотеке коју могу да конвертујем? Ограничење је 8 MB. Ако имате већу датотеку, поделите је у мање делове пре конверзије. Број редова и колона такође има границе — највише 10.000 редова и 200 колона. Ако прекорачите ова ограничења, добићете одговарајућу поруку грешке.