質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

2977閲覧

【swift】jsonファイルから持って来たデータを数値に変換したいです。

mk_

総合スコア18

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/11/21 14:25

編集2016/11/21 14:38

iosアプリを作っているのですが、

json

1 {"height" : "52.5", "width" : "64"}

こんな感じのjsonファイルがあります。(本当はもっと要素も全体のデータ数も多く、形式はきちんと書いてます)
このjsonのデータはcsvから変換ツールによって変換してきたものなので、数値にまで「""」がついてしまっています。
ですが、このheightとwidthの値を数値として取り出して使いたいのです。

手動で「""」を外すのが手っ取り早いのですが、件数が多く、また頻繁に内容を変える(Excel上でデータ編集→csvに変換→jsonに変換→プログラムに追加)ので、できればコードで自動的に変えることができればいいなと思っています。

参考サイト1
参考サイト2

これらのサイトのやり方を試してみたのですが、うまく変換されません。エラーがでるか、nilになるかどちらかのパターンが多いです。
このjsonファイルは一旦NSDictionary型の配列に移してからデータを取り出しているのですが、NSDictionary型だと文字列を数値にするのは難しいのでしょうか。
それとも、swift3になって色々と仕様が変わったのでしょうか。
詳しい方、宜しくお願いします。

実際のコードを載せることができないので、申し訳ないですが、自分だったらこうするというやり方だけでももしあれば書いてくださるとありがたいです。
あと、NSDictionary型にしないということはできないので、できればNSDictionary型でもできるやり方を探したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

追加で...

swift

1let dic:NSDictionary = ["height" : "52.5", "width" : "64"] 2 3// floatに変換 4let height:Float = dic["height"]!.floatValue 5 6/* 7Int32に変換 8let height:Int32 = dic["height"]!.intValue 9 10Intに変換 11let height:Int = dic["height"]!.integerValue 12*/

投稿2016/11/21 16:20

編集2016/11/21 16:27
fromageblanc

総合スコア2724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mk_

2016/11/22 02:58

いけました!!ありがとうございました・・・!!
guest

0

swift

1//Intで取得 2let intValue = Int(dic["key"] as! String)! 3 4//Doubleで取得 5let doubleValue = Double(dic["key"] as! String)!

これでどうでしょう?

投稿2016/11/21 16:16

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問