tl; dr: необходимо очистить данные JSON для импорта в CouchDB - как лучше?
Я искал лучший способ очистки входов для загрузки данных API JSON в мою NoSQL DB (CouchDB),но никакие ранее не предлагаемые методы работают правильно.Проблема в том, что API возвращает некоторые значения в JSON, которые являются нестандартными типами данных.(Используя ShopifyAPI.)
Я написал несколько функций для очистки входных данных из API, но хочу убедиться, что это эффективный, действенный и всеобъемлющий метод.
Данные JSON, поступающие изВызов API вступает в силу как диктовка.
def clean_dict(messy_dict):
if type(messy_dict) is not (dict):
print (f'Some problem with dict:\n{messy_dict}')
for key, value in messy_dict.items():
if value is None:
continue
if isinstance(value,dict):
clean_dict(value)
if isinstance(value, list):
clean_list(value)
if type(value) not in (bool,int,float,str):
messy_dict[key] = str(messy_dict[key])
def clean_list(messy_list):
if type(messy_list) is not (list):
print (f'Some problem with list:\n{messy_list}')
return
for index, list_item in enumerate(messy_list):
if value is None:
continue
if isinstance(list_item,dict):
clean_dict(list_item)
if isinstance(list_item, list):
clean_list(list_item)
if type(value) not in (bool,int,float,str):
messy_list[index] = str(messy_list[index])
Функции работали до сих пор, но могут ли быть какие-либо сценарии исключений, которые я мог бы пропустить?Или есть гораздо более простой способ сделать это, что я упустил из виду?