首页 > 解决方案 > 读取 csv 文件内容并传递到 json 数组以通过 HTTP Post Action 发布 - Microsoft Flows

问题描述

我正在尝试读取类似于以下示例的 csv 文件的内容,然后将 HTTP Post 操作正文中的值作为 json 传递给 Microsoft Flows 的 API。

id, firstname, lastname, email, createdate

1, joe, smoe, joesmoe@joe.com,7/31/2018

2, jill, smoe, jillsmoe@jill.com, 7/31/2018

我能够使用 SFTP 连接器读取文件内容,我遇到的问题是将内容转换为 JSON

我需要传递给 API 的输出看起来像这样

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

标签: scheduled-tasksflowpower-automate

解决方案


如果您无法转换为 JSON,您可以按照自己的方式构建它。

我只想你把 CSV 内容放在字符串数组中,比如 0 和 1,2 中的第一行,依此类推。

使用 Flow 的compose形状来构造消息,根据您的要求,您可以构造如下所示的字符串:-

*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]"
       }
    ]
  }
]

推荐阅读