JSON ⇄ CSV Converter

Developer

Palitan ang JSON at CSV, tama ang panipi at ang mga numero.

CSV
name,city,salary,team Juan Cruz,"Cebu, Philippines",45000, Ana Reyes,Davao,52000,Payroll
2 hanay · 4 kolum
Hanay2
Kolum4
Hindi lahat ng record ay may bawat field. Ang mga kolum ay ang pinagsamang field ng lahat, at iniiwang blangko ang mga puwang — kung sa unang record lang kukunin ang mga kolum, tahimik na mawawala ang field na nasa ilang record lang.

Paano gamitin

Para saan ito

Gawing CSV na nabubuksan ng spreadsheet ang listahan ng mga record na nasa JSON, o ibalik sa JSON ang isang CSV, nang hindi nasisira ang mga address, pangalang may kuwit o mahahabang numero.

Bago magsimula

Ihanda ang data, kinopya mula sa file, app o spreadsheet. Sa browser mo ito kino-convert at walang ipinapadala kahit saan.

  1. Piliin ang direksyon

    Sa Direksyon, piliin ang JSON tungong CSV para gumawa ng mabubuksan ng spreadsheet, o CSV tungong JSON para sa kabila.

  2. I-paste ang data mo

    Palitan ng sarili mong data ang sample sa malaking kahon. Ang CSV ay ang plain text na anyo na sine-save ng spreadsheet: isang hanay bawat linya, na may karakter sa pagitan ng mga kolum.

  3. Itakda ang delimiter

    Ang Delimiter ang karakter na iyon. Bagay ang Kuwit sa karamihan ng .csv file; piliin ang Tuldok-kuwit o Tab kung isa sa mga iyon ang gamit ng file mo.

  4. Pagpasyahan ang numero (CSV tungong JSON lang)

    Ginagawang numero ng Isulat ang numero bilang numero ang value na gaya ng 45000 sa halip na teksto. Alisin ang tsek para manatiling teksto ang bawat value, eksakto kung paano isinulat.

  5. I-convert at kopyahin

    Pindutin ang I-convert. Nasa band sa itaas ng card ang resulta — nagbabago rin ito habang nagta-type ka — at inilalagay ito ng Kopyahin sa clipboard mo.

  6. Subukan pabalik, kung gusto mo

    Ibinabalik ng Palitan at i-convert pabalik ang resulta sa kabilang direksyon, para makita mong walang nawala.

Pagbasa ng resulta

  • CSV o JSON: ang na-convert na teksto. Nakabalot sa panipi ang field na may kuwit, panipi o line break — tamang CSV iyon, hindi pagkakamali.
  • Hanay (o Talaan) at Kolum: kung ilan ang bawat isa sa na-convert na data.
  • Sinasabi ng mga note sa ilalim ng kahon kung ano ang ginawa ng pahina, gaya ng pag-iwan ng blangkong kolum sa mga record na walang ganoong field.

Kung may problema

  • Sabi ng mensahe, sira ang JSON: pinangangalanan nito ang problema, gaya ng single quote sa halip na double quote. Ayusin ang bahaging iyon at babalik ang resulta.
  • Sabi ng note, may mga hanay na hindi pareho ang bilang ng field sa header: tingnan kung tugma ang Delimiter sa file mo, at kung nakapanipi ang field na may ganoong karakter.
  • May babala tungkol sa mga field na nagsisimula sa =, +, - o @: pinapatakbo iyon ng spreadsheet bilang formula. Iniiwan ito ng pahina nang eksakto, kaya ayusin muna bago ipasa ang file.

Ano ito

Ang CSV ay hindi "hatiin sa kuwit", at iyon ang buong trabaho. Ang isang field ay puwedeng may kuwit, newline o panipi — at hinahawakan ng RFC 4180 ang tatlo sa pamamagitan ng paglalagay ng panipi sa field at pagdodoble ng anumang panipi sa loob.

Ang converter na basta naghahati sa kuwit ay sumisira mismo sa datos na pinaka-sulit i-convert — tirahan, tala, pangalang may kuwit — at tahimik itong nangyayari.

Ang numero ay isinusulat muli nang eksakto. Ginagawang float ng JSON.parse ang bawat numero, kaya ang 1234567890123456789 ay bumabalik na …800 at ang 1.0 ay nagiging 1. Ang hinihingi sa converter ay palitan ang anyo, hindi ang halaga.

At ang field na nagsisimula sa = ay formula sa spreadsheet. Iniuulat ito, hindi binabago.

Mga tanong

Bakit may panipi sa paligid ng lumalabas na patlang?

Dahil may kuwit, panipi o bagong linya ito, at hinahawakan ng CSV ang tatlo sa pamamagitan ng paglalagay ng panipi sa patlang. Ang converter na basta lang nagdurugtong ng halaga gamit ang kuwit ay sumisira mismo sa datos na pinakasulit ilipat — isang tirahan, isang nota, isang pangalang may kuwit — at tahimik nitong ginagawa iyon. Ang panipi sa loob ng patlang na may panipi ay isinusulat nang dalawang beses, at iyon ang panuntunan mula sa RFC 4180.

Bakit nakaligtas dito ang napakahaba kong numero gayong ini-round ito ng ibang tool?

Dahil hindi nito pinaparse ang JSON mo gamit ang JSON.parse, na ginagawang floating-point na halaga ang bawat numero — ang 1234567890123456789 ay bumabalik bilang …800, at ang 1.0 ay bumabalik bilang 1. Ang converter ay hinihilingang baguhin ang anyo, hindi kailanman ang halaga, kaya inilalabas muli ang numero nang eksakto sa pagkakasulat nito. Ginagamit nito ang parehong kinamay na parser ng JSON Formatter sa parehong dahilan.

Ano ang mangyayari sa nakapugad na object at array?

Ang nakapugad na object ay pinapatag sa mga column na parent.child, at iyon ang kayang hawakan ng spreadsheet. Ang array ay isinusulat bilang JSON sa loob ng iisang cell — nagbabago ang haba nito kada hilera, kaya ang paglatag nito sa mga column ay gagawing kasinlapad ng pinakamahabang array sa file ang hanay ng column at blangko ang karamihan sa hilera.

Bakit kinukuha ang mga column ko sa higit pa sa unang record?

Dahil ang pagkuha sa unang record lamang ay tahimik na nagbabagsak sa anumang patlang na nasa ilang record lang — at mukhang ayos na ayos pagkatapos ang mga hilerang mayroon nito, at ganoon nagiging hindi napapansin ang pagkawala. Ang mga column ay pinagsamang key ng bawat record, at iniiwang blangko ang mga puwang.

Ano ang CSV injection at bakit nagbababala ang pahina tungkol dito?

Ang cell na nagsisimula sa =, +, - o @ ay itinuturing na pormula ng Excel at Google Sheets, kaya ang patlang na nagsasabing =HYPERLINK(...) ay nagiging buhay na link kapag binuksan ng iba ang file. Iniuulat ng pahinang ito ang bawat ganoong patlang sa halip na baguhin ito: ang paglagay ng panipi sa unahan ay magpapalit sa datos mo, at converter ito. Ayusin sila bago ipasa ang file.

Bakit naging ibang numero ang numero ko ng telepono?

Dahil ibinagsak ng paghula sa numero ang sero sa unahan — ang 0917 ay nagiging 917. Ang halagang mukhang numero ay isinusulat bilang numero bilang default, na kadalasang gusto at minsan ay mali. Pinapanatiling teksto ng pahinang ito ang halagang may sero sa unahan, pero kung gusto mong teksto ang lahat, patayin ang paghula.

Ano ang mangyayari kung inuulit ng CSV header ko ang pangalan ng column?

Nananalo ang huling column na may ganoong pangalan, dahil hindi makakahawak ang JSON object ng parehong key nang dalawang beses. Sinasabi ito ng pahina sa halip na hayaang tahimik na maglaho ang naunang column — palitan muna ang pangalan ng column kung mahalaga silang dalawa.

Ang komputasyon

Kailan kailangan ng panipi
Cebuhindi
Cebu, Philippinesmay kuwit
sabi "hi"dinodoble ang panipi
unang linya ⏎ pangalawamay newline

Dahil puwedeng may newline ang field na may panipi, hindi malalaman ang hangganan ng row kung hindi sinusubaybayan ang panipi.

CSV injection

Ang cell na nagsisimula sa =, +, - o @ ay ipinapatakbo ng Excel at Sheets. Iniuulat ito ng pahina at hindi binabago: ang pagdagdag ng panipi sa unahan ay magbabago sa datos mo, at converter ito.

Ituloy pa

Mahalaga

Runs entirely in your browser; nothing is transmitted. Numbers are re-emitted exactly as written rather than passed through a float. Fields a spreadsheet would treat as a formula are reported, never altered — changing them would change your data. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.