如何在python中迭代json对象以使用每个项填充数据库

如何在python中迭代json对象以使用每个项填充数据库,python,json,Python,Json,我想通过python迭代如下所示的json,以便将对象中的每个项填充到我的数据库中: [{ 'description': 'DP WORLD', 'displaySymbol': '3DW.HM', 'symbol': '3DW.HM' }, { 'description': 'SPDR Series Trust - SPDR S&P 600 Small Cap Value ETF', 'displaySymbol': '4JZ3.HM',

我想通过python迭代如下所示的json,以便将对象中的每个项填充到我的数据库中:

[{
    'description': 'DP WORLD',
    'displaySymbol': '3DW.HM',
    'symbol': '3DW.HM'
}, {
    'description': 'SPDR Series Trust - SPDR S&P 600 Small Cap Value ETF',
    'displaySymbol': '4JZ3.HM',
    'symbol': '4JZ3.HM'
}, {
    'description': 'DGH Deutsche Grundwert Holding AG',
    'displaySymbol': '5TR.HM',
    'symbol': '5TR.HM'
}, { 

    [...]

}]
我的做法如下:

def getStocksAvailable:
    exchangeHamburg = (requests.get('https://....').json())

    for item in exchangeHamburg:
            print(item[0])
            print(item[1])
            print(item[2])

    # push to DB logic

getStocksAvailable();
这给我带来了一个错误:

Traceback (most recent call last):
  File "C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py", line 24, in <module>
    getStocksAvailable();
  File "C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py", line 20, in getStocksAvailable
    print(item[0])
KeyError: 0
回溯(最近一次呼叫最后一次):
文件“C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py”,第24行,在
getStocksAvailable();
文件“C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py”,第20行,在getStocksAvailable中
打印(项目[0])
关键错误:0

使用所做的注释进行更新,现在抛出新错误字典已命名元素,而不是编号。应该如此

        print(item['description'])
        print(item['displaySymbol'])
        print(item['symbol'])

您知道哪些键来自该dict。由于其结构,dict值很容易调用,因此:

for item in exchangeHamburg:
    print(item.get('description', 'default value'))

注意.get方法搜索键“description”,然后返回其值,或者从第二个参数返回“default value”(如果没有第二个参数,则返回None)

很明显,您收到的是
dict
,而不是
列表,因此数据不是您提供的数据。请使您的示例可复制。一般建议:如果您需要快速帮助,请创建一个可复制和粘贴的MWE。我知道了,括号就是问题所在。可以关闭。。。谢谢多混乱啊…@tamasgal是的,够了。关闭