如何使用Ruby将字符串数组传递给JSON API Post

时间:2013-07-26 03:14:17

标签: ruby arrays json api csv

我已将csv文件解析为3个不同的数组。每列是一个数组 - arr1是“name”列,arr2是“email”列,arr3是“ID”列。

我正在尝试向接受JSON的API发布请求。我需要同时发布每一行(So arr1 [0],arr2 [0]和arr3 [0])以确保它们都绑定到一个联系人。然后请求应继续循环,直到没有剩余的记录要添加。我到目前为止的代码如下:

         uri= HTTParty.post("https://www.surveys.com/api/v2/add-contact",
    :basic_auth => auth,
    :headers => { 'ContentType' => 'application/json' },
    :body => {
      "name" => arr1[0],
      "email" => arr2[0],
      "id" => arr3[0]
    }
  )

虽然这可以创建一个联系人,但我在如何循环联系人方面留下了空白。我可以创建一个arr1.each语句,但这会遗漏电子邮件字段(arr2)和id字段(arr3)。如何循环3个或更多阵列?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果没有看到数据,就无法确定,但我建议您不要将数据分析为三列,而是将数据保留为行,因为听起来每个联系人都是一行。

这是CSV文件中联系人或任何记录的典型格式。使用CSV读取文件,您可以获得包含记录的数组。告诉CSV不要在每行的数据中使用标题,你将获得数组的数组。

此时,通过将to_json应用于整个记录数组,将每个联系人的信息捆绑在一起将很简单。