学校では、セーリング競技を追跡するプログラムを作成しています。Swift 3 Dictionary JSON
私は現在、セーリングチーム用の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)
プリント(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とスウィフト3を
... omg THANKS!それは今動作します:D –
@SquirrelofPainようこそメイト:) –