从API清除数据输入以进行NoSQL DB上传

时间:2019-04-04 19:01:13

标签: python json nosql

tl; dr:需要清除JSON数据以导入到CouchDB中-最好的方法是什么?

我一直在寻找清除输入的最佳方法,以将API JSON数据上传到我的NoSQL DB(CouchDB),但是以前没有建议方法可以正常工作的方法。问题在于API在JSON中返回了一些非标准数据类型的值。 (使用ShopifyAPI。)

我已经编写了一些函数来清除API中的输入,但是要确保它是一种高效,有效且包含所有内容的方法。

来自API调用的JSON数据作为字典输入。

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])

到目前为止,这些功能已经起作用,但是我可能会错过任何例外情况吗?还是有一种更简单的方法来做到这一点,而我却忽略了这一点?

0 个答案:

没有答案
相关问题