【发布时间】:2017-07-18 00:40:48
【问题描述】:
在学校,我们正在创建一个跟踪帆船比赛的程序。
我目前正在为帆船队开发 GPS 追踪器应用程序。 发送到我们 Api 的 JSON 必须如下所示:
{"hash":"asdh832","positions":[{"longitude":13.340532999999999,"latitude":52.4965431,"time":1488182463461},{"longitude":13.3175489,"latitude":52.4927039,"time":1488195535705},{"longitude":13.3175489,"latitude":52.4927039,"time":1488195536657}]}
首先是团队的哈希值和数组中的位置(如果智能手机没有互联网连接 atm 稍后发送它们)
我有一个“职位”数组字典:
var positions = Array<Dictionary<String,String>>()
positions.append( ["longitude":String(location.coordinate.longitude),
"latitude":String(location.coordinate.latitude),
"time":String(Int64(location.timestamp.timeIntervalSince1970 * 1000.0))])
// Times 2 to test
positions.append( ["longitude":String(location.coordinate.longitude),
"latitude":String(location.coordinate.latitude),
"time":String(Int64(location.timestamp.timeIntervalSince1970 * 1000.0))])
let data2 = try JSONSerialization.data(withJSONObject: positions, options: [])
let dataString2 = String(data: data2,encoding: String.Encoding.utf8)!
print(dataString2)
print(dataString2) 的结果是:
[{"latitude":"52.4965211222075","longitude":"13.3405919673345","time":"1488194768467"},{"latitude":"52.4965211222075","longitude":"13.3405919673345","time":"1488194768467"}]
这是正确的。现在我想将它与哈希结合起来:
let params: Dictionary<String, String> = ["hash":"asdh832","positions": dataString2]
let data = try JSONSerialization.data(withJSONObject: params , options: [])
let dataString = String(data: data,encoding: String.Encoding.utf8)!
但现在“位置:”之后的结果看起来有点奇怪:
{"hash":"asdh832","positions":"[{\"latitude\":\"52.4966040328522\",\"longitude\":\"13.3402242104124\",\"time\":\"1488195406482\"},{\"latitude\":\"52.4966040328522\",\"longitude\":\"13.3402242104124\",\"time\":\"1488195406482\"}]"}
没有这些额外的 " 和 \ 它是正确的,但我只是不知道如何构建它。
我正在使用带有 Xcode 8.2.1 的 Swift 3
【问题讨论】:
标签: json swift dictionary