Чтение содержимого файла csv и передача в массив json для публикации с помощью действия HTTP Post - Microsoft Flows

Я пытаюсь прочитать содержимое файла csv, который выглядит как в примере ниже, а затем передать значения как json в теле действия HTTP Post в API из Microsoft Flows.

id, firstname, lastname, email, createdate

1, joe, smoe, [email protected],7/31/2018

2, jill, smoe, [email protected], 7/31/2018

Я могу прочитать содержимое файла с помощью коннектора SFTP. У меня возникла проблема с преобразованием содержимого в JSON.

Мне нужен вывод, который я передаю в API, чтобы он выглядел так

    [
      {    
      "properties": [
        {
          "property": "firstname",
          "value": "joe"
      },
      {
        "property": "lastname",
        "value": "smoe"
      },
      {
        "property": "email",
        "value": "[email protected]"
      },
      {
        "property": "createdate",
        "value": "7/31/2018"
       }
    ]
  }
]

person Mufaddal    schedule 24.01.2019    source источник


Ответы (1)


Если у вас нет возможности конвертировать в JSON, вы можете сконструировать его по-своему.

Я бы просто поместил это содержимое CSV в массив String, например, первую строку в 0 и 1,2 и так далее.

Используйте форму потока составить, чтобы создать сообщение, в соответствии с вашими требованиями вы можете создать строку, как показано ниже: -

* stringArray - это место, где ваш CSV-контент разбивается на массив строк. stringArray может быть назначен внутри цикла с индексом.

[
      {    
      "properties": [
        {
          "property": "firstname",
          "value": "stringArray.split(',')[1]"
          },
      {
        "property": "lastname",
        "value": "stringArray.split(',')[2]"
      },
      {
        "property": "email",
        "value": "stringArray.split(',')[3]"
      },
      {
        "property": "createdate",
        "value": "stringArray.split(',')[4]"
       }
    ]
  }
]
person Balaji    schedule 25.01.2019