모바일/Android

MySQL Dump 로 내보낸 JSON, Firebase용 JSON 변경

늘근이 2017. 6. 19. 23:03

파이어베이스에 데이터를 넣으려고 하는데 MySQL은 이런식으로 떨궈준다.

MYSQL로 떨군 JSON방식은 아래와 같다.

[{"title" : "something, "subtitle" : "something"},{"title" : "something, "subtitle" : "something"}]

이런식으로 튀어나오는데, 파이어베이스는 그게 어떤방식이든 KEY형태로 지니고 있어야 한다. 즉,

{{1: {"title" : "something, "subtitle" : "something"},

{2: {"title" : "something, "subtitle" : "something"}}

이런식으로 만들어 줘야 한다는것.


그럼 파이썬으로 한번 만들어본다. 파이썬은 데이터 전처리하기 적당한 도구라고 보인다.


>>> import json

>>> json_data = open("data.json").read()

>>> data = json.loads(json_data)


MySQL을 통해 나온 덤프파일에 위에 주석이 나와있을 경우 디코딩 에러가 나니 그렇게 본다.

>>> info= dict()

>>> for index, item in enumerate(data):

...           info[index] = item


이렇게 해주면 dict타입이 된다. 키는 시퀀스대로 하나하나 박아주게 된다. 

이제 이것을 그대로 JSON파일로 변환해주고 나가면된다.

>> with open('result.json', 'w') as outfile:

...        json.dump(info, outfile)


이제 result.json으로 처음 진입한 경로에 하나 예쁘게 생성되어있을것이다. 이를 이제 그냥 올리면 된다. 파이어베이스에~