본문 바로가기

JSON

중첩된 JSON을 엑셀에서 열리는 CSV로, 배열까지 한 줄씩 펼쳐 변환하기 API에서 받아 온 JSON을 엑셀로 열어 보려고 CSV로 바꿨더니,한 칸 안에 {'name': '김민수', 'grade': 'gold'} 같은 덩어리가통째로 들어가 버린 적이 있습니다. 표로 정리하려던 데이터가 오히려 더 읽기 어려워집니다. 원인은 JSON이 값 안에 또 다른 값을 품는 중첩 구조를 갖는 반면,CSV는 행과 열이 반듯한 평평한 표만 담을 수 있다는 데 있습니다.그래서 변환하려면 중첩을 먼저 펼쳐 줘야 합니다.실제 데이터로 단계별로 해 보겠습니다.다룰 데이터부터 보겠습니다주문 정보를 담은 JSON입니다.고객 정보는 객체 안에 들어 있고(customer),주문 항목은 여러 개라 배열로 묶여 있습니다(items). 실무에서 흔히 만나는 모양입니다.[ { "order_id": 1001,.. 더보기
받은 JSON을 엑셀로 봐야 할 때, XLSX로 변환하는 가장 깔끔한 방법 API에서 내려받은 데이터나 동료가 보내 준 파일이 .json인데, 정작 검토는 엑셀로 해야 하는 상황이 자주 생깁니다. 메모장으로 열면 중괄호와 따옴표가 빽빽해서 어디가 한 행인지조차 가늠이 안 됩니다.JSON을 엑셀(XLSX)로 바꾸는 일 자체는 코드 몇 줄이면 끝납니다. 다만 JSON이 평평한 표 모양이냐, 값 안에 또 값이 들어 있는 중첩 구조냐에 따라 결과가 크게 갈립니다. 실제로 변환해서 어떤 엑셀이 만들어지는지 직접 보여 드리겠습니다. 변환에 쓴 환경아래 모든 결과는 직접 돌려서 나온 값입니다. 측정 환경은 윈도우 11, 파이썬 3.14.3이고, 라이브러리는 pandas 3.0.1과 엑셀 기록 엔진인 openpyxl 3.1.5를 썼습니다. 두 라이브러리는 한 번만 설치하면 됩니다.pip in.. 더보기
JSON "Expecting property name", "Expecting ',' delimiter" 오류, 증상별로 원인 찾고 고치기 JSON 파일을 읽히려는데 빨간 글씨로 이런 메시지가 뜬 적이 있을 것입니다.Expecting property name enclosed in double quotes: line 1 column 2 (char 1)Expecting ',' delimiter: line 1 column 15 (char 14)Illegal trailing comma before end of object: line 1 column 26 (char 25)웹에서는 흔히 "Unexpected token"으로, 파이썬에서는 위처럼 표시됩니다. 표현은 달라도 원인은 거의 정해져 있습니다. JSON은 문법이 까다로워서, 사람이 손으로 고치다 보면 쉼표 하나, 따옴표 하나에서 어긋나기 때문입니다.이 글은 자주 나오는 잘못된 JSON을 실제로 .. 더보기
JSON 한 줄 저장과 들여쓰기 저장, 용량이 얼마나 차이 날까 (실측과 정리 방법) API에서 받은 JSON을 메모장으로 열었더니 처음부터 끝까지 한 줄로 뭉쳐 있어 어디가 어디인지 읽기 어렵습니다. 반대로 보기 좋게 정리된 JSON을 저장했더니 파일이 부쩍 커져서 전송이 부담스러운 경우도 있습니다.이 두 가지는 같은 데이터의 양면입니다. JSON은 같은 내용을 한 줄로 압축(minify)해 저장할 수도, 들여쓰기로 정렬(pretty)해 저장할 수도 있고, 둘은 용량이 꽤 다릅니다. 얼마나 다른지 직접 재 보고, 상황에 맞게 바꾸는 방법을 정리하겠습니다. 같은 1,000행을 두 방식으로 저장해 재 봤습니다객체 1,000개가 담긴 배열(필드 5개: id, name, age, city, active)을 만들어 같은 데이터를 여러 방식으로 저장하고 크기를 쟀습니다. 측정 환경은 윈도우 11,.. 더보기
JSON 파일이란? 개발자가 가장 많이 쓰는 데이터 형식 쉽게 이해하기 프로그램 설정을 바꾸려고 폴더를 열었더니 .json이라는 파일이 있고, 안을 들여다보니 중괄호와 따옴표가 잔뜩 있어 살짝 겁먹으셨을 수 있습니다.괜히 잘못 건드리면 큰일 날 것 같은 그 느낌, 처음엔 누구나 그렇습니다. 하지만 규칙만 알면 JSON은 의외로 사람이 읽기 쉽게 만들어진 형식입니다.오늘은 JSON이 무엇이고 왜 이렇게 널리 쓰이는지, 그리고 안전하게 읽는 법까지 쉽게 풀어 드리겠습니다. JSON을 한 문장으로JSON은 JavaScript Object Notation의 줄임말로, 값마다 이름표를 붙여 정리한 데이터 형식입니다.쉽게 말해 "이름은 김민수, 나이는 29"처럼 항목 이름과 값을 짝지어 적는 방식입니다. 사람도 읽을 수 있고 프로그램도 쉽게 해석할 수 있어서 데이터를 주고받는 다리 역.. 더보기