개인 작업 목록

Python - Simple Json Editor

BaekNohing 2022. 9. 13. 11:19

a cute cat snail

Json Simple Editor

by python

About The Project

band_fileSize

unity 등에서 데이터를 관리할 때 json형식을 주로 사용하고 있는데. {"key":"Value"} 형식을 따라 한줄로 쭉 이어져 있는 상태에서는 직관적으로 구조를 파악해 수정하기 어렵고, 실수로 key가 바뀌거나 json형식이 깨져버리는 상황도 종종 발생하는 등의 단점이 있었다.

이를 극복하기 위해, 추석 연휴에 짬을 좀 내가지고, 설치해서 바로 사용할 수 있는 에디터를 파이썬으로 간단히 구현해 보았다. Unity와 같은 다른 프로젝트에서 사용되는 Json이 이미 있는 상황 & 유연함보다는 key와 형식을 준수하는게 더 중요한 상황을 상정했기 때문에 "불러오기'', "value값 수정", "저장" 이 세가지 요소만 구현되어있다.

워낙 간단한 프로젝트였고 (python 기본 lib나 이런저런것들 포함한 .exe파일이 22M정도 된다) tkinter를 처음으로 사용해서 윈도우 프레임부터 컴포넌트들을 하나하나 구성해 보았다.. 는 점 외에는 특기할 만한 건 따로 없는 것 같다. 본가로 내려가기 전날 당일치기로 끝내려고, 그냥 유니티에서 작업했던 것 처럼 컴포넌트 쳐내다가 좀 빙빙 돌아가면서 고생했던 것 빼고는.. ScrollView가 내가 써오던 방식이랑 완전히 다른 방식으로 움직여서(유니티에선 "스크롤"에 컨텐츠를 넣는 방식이라면, 여기선 "컨텐츠에" 스크롤을 등록한다) 좀 어리둥절 했던 것 빼고는.. 스크립트를 폴더로 구분해 사용할 때 절대경로 / 상대경로 이슈로 좀 애먹었던 것 빼고는.. 확실히 별 일 없었다!

Built With

BuildWithPython

Getting Started

git clone https://github.com/BaekNothing/JsonEditorbyPython.git 
cd JsonEditorbyPython

pip install -r requirments.txt
python main.py

or

git clone https://github.com/BaekNothing/JsonEditorbyPython.git 
cd JsonEditorbyPython

./jsonEditor.exe

 

Test Result

> python tester.py

python의 pytest라는게 있어서 처음 써 보았다. 이게 테스터의 import 부분에서 상대경로로 지정에 이슈가 좀 있었어서 

sys.path.append("sources")
from sources import JsonParser
from sources import Interface
from sources import File

이런식으로 폴더를 지정해서 파일들을 import해 주었다.