読者です 読者をやめる 読者になる 読者になる

Swift:クライアントからサーバにデータを投げるために、JSONSerializationを利用しよう!

最近NSKeyedAchiverクラスとかachivedDataメソッドとか

色々使い方を勉強していたが、

元々やりたかったのは、

「クライアントからサーバにJSON形式の文字列を送信すること」

「サーバからクライアントにJSON形式の文字列を送信すること」

をやりたかったんだよね!!

 

そのために課題を分解して色々勉強していたが、

ちょっと解決の兆しが見えてきた!

 

まず、

f:id:engineermasaru:20170419121955p:plain

というコードを説明しよう。

 

1行目

ディクショナリ型でdictという変数を定義。

(ディクショナリ:キーと値の組み合わせ)

 

2行目

Data型のjsonDataという変数を定義。

JSONSerializationクラスのdataメソッド(ラベル付き)を利用する。

withJSONObjectというラベルとシリアライズしたい変数dictを引数として与える。

 

ここまでで通信ができる状態にはなった!

 

3行目以降は、swiftでのデバック用。

3行目は、

String型のjsonStringという変数が左辺。

右辺から、代入するのは、Stringクラス。

Stringクラスに引数として、

dataラベル:jsonData変数、encodingラベル:.utf8で符号化してねーってこと

String - Swift Standard Library | Apple Developer Documentation

 

それを4行目でprintすると、こんな結果が出力される。

f:id:engineermasaru:20170419121958p:plain

おー!

 

2行目の後に、Alamofireを利用すれば

サーバにデータを投げれるのではないか?

という仮説はまた次回以降で

検証していきたいと思います。