Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用flask从JSON webhook获取单个键的值列表?_Python_Python 3.x_Flask - Fatal编程技术网

Python 如何使用flask从JSON webhook获取单个键的值列表?

Python 如何使用flask从JSON webhook获取单个键的值列表?,python,python-3.x,flask,Python,Python 3.x,Flask,我有一个webhook侦听器,它侦听特定的webhook并捕获JSON数据 json数据的一个示例 [ { "InvoiceNumberPrefix": "AB-", "InvoiceNumber": 1111 ], "OrderItemList": [ { "CatalogI

我有一个webhook侦听器,它侦听特定的webhook并捕获JSON数据

json数据的一个示例

  [
    {
      "InvoiceNumberPrefix": "AB-",
        "InvoiceNumber": 1111
       
        ],
        "OrderItemList": [
          {
            "CatalogID": 1,
            "ItemIndexID": 1,
            "ItemID": "444444",
          },
          {
            "CatalogID": 1,
            "ItemIndexID": 1,
            "ItemID": "666666",}   
    }
  ]
WebHook侦听器

@app.route('/webhook', methods=['POST'])
def webhook():
    if request.method == 'POST':
        content = request.json
        ITEM= content[0]['OrderItemList'][0]['ItemID']
        ITEM2= content[0]['OrderItemList'][1]['ItemID']
我需要得到所有“ItemID”的值。我能够使用
内容[0]['OrderItemList'][0]['ItemID']

但是,要获取ItemID值,这是不实际的,因为可能有数百个项目。我尝试了循环和迭代,但没有成功。

根据您在问题中展示的结构,您应该能够执行以下操作

for order in content[0]['OrderItemList']:
    print(order['ItemID'])

它将打印响应中的每个
ItemID

附加的json不正确。我已经纠正了它,并假设它是正确的

a = [
    {
        "InvoiceNumberPrefix": "AB-",
        "InvoiceNumber": 1111,
        "OrderItemList": [
            {
                "CatalogID": 1,
                "ItemIndexID": 1,
                "ItemID": "444444"
            },
            {
                "CatalogID": 1,
                "ItemIndexID": 1,
                "ItemID": "666666"
            }
        ]
    }
]

print([j["ItemID"]  for i in a for j in i["OrderItemList"]])
输出:

['444444', '666666']

“不成功”是什么意思?你到底尝试了什么,它是如何不起作用的?我不能确定,因为没有太多的东西可以做,但我认为OP的问题可能与烧瓶有关。所以我尝试了类似的东西,但没有起作用。看起来我有缩进错误。谢谢如果将来有人试图实现同样的目标,这就是解决方案。