Извлечение пар ключ / значение из файла JSON - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь преобразовать код Python для извлечения пар ключ / значение из вывода JSON (созданного в Microsoft Form Recognizer) и не могу воссоздать цикл в VB.NET (UiPath).

До сих пор я создалвложенный цикл for-each в UiPath для циклического прохождения каждой пары ключ / значение на каждой странице.

import json

    response_file = "response.json"
    # Specify the list of keys to be reported.
    keys = set(["Number","Opened"])
    with open(response_file, mode = "r", encoding = "utf-8") as f:
        data = json.load(f)
        # Loop over all pages in the document.
        for page in data["pages"]:
            # Loop over all key/value pairs in the page.
            for kvp in page["keyValuePairs"]:
                key_txt = " ".join([x["text"] for x in kvp["key"]])
                # Report only the pre-specified subset of keys.
                if key_txt in keys:
                    print("key: %s" % key_txt)
                    vals = [x["text"] for x in kvp["value"]]
                    print("value: %s" % " ".join(vals))

Используемый мной пример JSON:

{
  "status": "success",
  "pages": [
    {
      "number": 1,
      "height": 792,
      "width": 612,
      "clusterId": 0,
      "keyValuePairs": [
        {
          "key": [
            {
              "text": "Number",
              "boundingBox": [
                71.6,
                704.6,
                109.0,
                704.6,
                109.0,
                693.6,
                71.6,
                693.6
              ]
            }
          ],
          "value": [
            {
              "text": "RITM0041763",
              "boundingBox": [
                178.7,
                704.6,
                241.4,
                704.6,
                241.4,
                693.6,
                178.7,
                693.6
              ],
              "confidence": 1.0
            }
          ]
        },
        {
          "key": [
            {
              "text": "Opened",
              "boundingBox": [
                321.0,
                704.6,
                357.8,
                704.6,
                357.8,
                693.6,
                321.0,
                693.6
              ]
            }
          ],
          "value": [
            {
              "text": "09/21/2018 09:04:01 AM",
              "boundingBox": [
                428.1,
                704.6,
                536.5,
                704.6,
                536.5,
                693.6,
                428.1,
                693.6
              ],
              "confidence": 1.0
            }
          ]

Ошибка в UiPath (выполняетсяв VB.NET) это «закрывающий идентификатор, заключенный в квадратные скобки»].

...