如何格式化要发布到 API 的数组数组?
Posted
技术标签:
【中文标题】如何格式化要发布到 API 的数组数组?【英文标题】:How do I format an array of array to be POSTed to an API? 【发布时间】:2016-01-09 05:18:43 【问题描述】:我有一组需要格式化并发送到外部 API 的数组。我的目标是获取 CoreLocation 坐标数据,并将其发送到 API。
下面是一个例子:
MBP:www $ xcrun swift -version
Apple Swift 2.1.1 版 (swiftlang-700.1.101.15 clang-700.1.81)
目标:x86_64-apple-darwin15.2.0
正在使用的库:
Swiftyjson 1.0
Alamofire 3.0.1
t1 = "2015-12-14";
t2 = "6517.8432";
t3 = Miles;
locations = (
latitude = "37.34229154”;
longitude = "-122.092223”;
timestamp = "2015-11-12”;
,
latitude = "37.37778312”;
longitude = "-122.14944148”;
timestamp = "2015-11-12”;
,
latitude = "37.3780272”;
longitude = "-122.14968145”;
timestamp = "2015-11-12”;
,
latitude = "37.37828075”;
longitude = "-122.14990349”;
timestamp = "2015-11-12”;
,
latitude = "37.37854172”;
longitude = "-122.15010976”;
timestamp = "2015-11-12”;
);
t5 = “Test123";
t6 = "";
t7 = "good";
t8 = “Running";
t9 = "4";
我使用 Alamofire 通过 HTTP POST 将数据发送到 API
Alamofire.request(.POST, endpoint, headers: headers, parameters: ["data": data])
上面的请求在下面转换。请注意位置数据(“纬度”、“经度”、“时间戳”)是每个数组的方式。我的目标是将数组中包含的“纬度”、“经度”和“时间戳”组合在一起。
“t3" : "Miles",
“t8" : "Running",
“t2" : "6517.8432",
“t7" : "good",
“t6" : "",
“t1" : "2015-12-14",
"locations" : [
"timestamp" : "2015-11-12"
,
"longitude" : "-122.092223"
,
"latitude" : "37.34229154"
,
"timestamp" : "2015-11-12"
,
"longitude" : "-122.14944148"
,
"latitude" : "37.37778312"
,
"timestamp" : "2015-11-12"
,
"longitude" : "-122.14968145"
,
"latitude" : "37.3780272"
,
"timestamp" : "2015-11-12"
,
"longitude" : "-122.14990349"
,
"latitude" : "37.37828075"
,
"timestamp" : "2015-11-12"
,
"longitude" : "-122.15010976"
,
"latitude" : "37.37854172"
],
“t9" : "4",
“t5" : "Test123"
【问题讨论】:
什么是“位置”?我从未见过您用来定义“位置”的这种 Swift 语法。你为什么使用:( ... ; ... ; .... ; ) 这不是在 Swift 中创建数组的方式。 @Darko 位置是我尝试创建数组的数组。移除数组应包含位置数组,内部数组应包含位置数据(纬度、经度、时间戳)。格式化它的正确方法是什么?感谢您的重播! 【参考方案1】:对内部和外部数组使用方括号。
【讨论】:
以上是关于如何格式化要发布到 API 的数组数组?的主要内容,如果未能解决你的问题,请参考以下文章