JSON → CSV 변환기
이 도구가 하는 일
누군가 API 응답을 보내왔고, 다른 누군가는 그걸 표로 원합니다. 일은 그게 전부입니다. 그런데 보기보다 어렵습니다. JSON은 나무고 표는 격자이기 때문입니다. 이 페이지는 하나를 다른 하나로 바꾸는 세 가지 판단을 내리고, 무엇을 어떻게 정했는지 보여 줍니다.
사용 방법
- 1 JSON을 붙여 넣거나 .json 파일을 놓으세요.
- 2 구분자를 고르세요. Excel용이라면 세미콜론을 쓰세요.
- 3 변환을 누른 뒤 결과를 복사하거나 .csv를 내려받으세요.
나무는 격자에 들어가지 않으니 펼칩니다
중첩된 객체는 점 표기 열이 됩니다. {"city":{"name":"London"}}은 city.name 열이 되죠. 이렇게 하지 않으면 변환기는 칸에 "[object Object]"라고 적습니다. 파일은 열리고, 멀쩡해 보이고, 데이터의 절반이 사라져 있습니다. 단순한 값의 목록은 한 칸에 합치고, 객체 목록은 번호가 붙은 열로 나눕니다.
[
{
"name": "Ada",
"city": { "name": "London" },
"note": "Loves \"tea\""
},
{
"name": "Grace",
"city": { "name": "New York, NY" },
"tags": ["math", "navy"]
}
]
name,city.name,note,tags Ada,London,"Loves ""tea""", Grace,"New York, NY",,math; navy
열은 첫 줄이 아니라 모든 줄에서 나옵니다
실제 데이터에서 레코드들의 항목이 똑같은 경우는 드뭅니다. 선택 항목 하나가 마흔 번째 레코드에서야 나타나고 그 앞에는 한 번도 없죠. 첫 레코드만 읽는 변환기는 그 열을 조용히 버리고, 결과 어디에도 그런 말은 없습니다. 여기서 머리글은 등장한 모든 키의 합집합이며 처음 나온 순서대로 놓입니다. 항목이 없는 레코드는 빈 칸이 됩니다.
떠돌던 쉼표 하나가 모든 열을 밀어냅니다
구분자나 따옴표, 줄바꿈이 들어 있는 값은 반드시 따옴표로 감싸고 안쪽 따옴표는 두 번 써야 합니다. CSV 표준이 요구하는 바이고, 변환기들이 가장 자주 틀리는 지점이기도 합니다. 쉼표가 든 주소, 줄바꿈이 든 메모, 아포스트로피가 든 이름. 이 단계를 건너뛴 파일은 그중 하나만으로도 조용히 망가집니다.
Excel은 CSV 파일을 두 가지 방식으로 망가뜨립니다
첫째, 바이트 순서 표시가 없으면 UTF-8을 지역 코드 페이지로 읽어서 악센트 문자와 비라틴 문자가 뭉개집니다. 둘째, 여러 지역에서 쉼표가 아니라 세미콜론을 기대하며, 모든 행을 한 열에 몰아넣습니다. 여기서는 둘 다 선택 사항이고 둘 다 기본값이 꺼짐입니다. 표준은 쉼표에 표시 없음이라고 하고, 파일은 대개 스프레드시트가 아니라 스크립트로 가기 때문입니다.