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

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

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

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

Swift

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

Q&A

0回答

719閲覧

swiftのjsonをデコードが思うようにできない

退会済みユーザー

退会済みユーザー

総合スコア0

JSON

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

Swift

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

0グッド

0クリップ

投稿2019/10/05 21:48

{
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
"id" : "aa3e54b7e551417076cd2d6a6fcad3d4f5cf2b5d",
"name" : "セブン-イレブン 国分寺本町2丁目店",
"opening_hours" : {
"open_now" : true
}
}

こんな感じのjsonがあってswiftの Codableで"name"をデコードすると、
User(name: "7-Eleven")
となってしまうのですが、
User(name: "セブン-イレブン 国分寺本町2丁目店")というようにデコードするにはどうしたら良いのでしょうか?

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

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

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

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

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

tanishi_a

2019/10/06 00:27

受信した直後に print したものがそうやって日本語で出るのですか? リクエスト時にlocationか何かの指定が抜けている、といったことを疑ったほうがよさそうな。
退会済みユーザー

退会済みユーザー

2019/10/06 04:52 編集

printしたものです。 struct Article: Codable { var results: [User] struct User: Codable { var name: String  //ここになにかしら処理を加える? var place_id: String var icon: String var geometry: Geometry struct Geometry: Codable { var location: Location } struct Location: Codable { var lat: Double var lng: Double } } } こんな感じでデコードして他はうまくいっているのですが、"name"だけ若干違うので何かしらの変換処理が必要なのか、Sringではダメなのかというとこがわからないです。
退会済みユーザー

退会済みユーザー

2019/10/06 04:53

jsonの一部です。 "results" : [ { "geometry" : { "location" : { "lat" : 35.70196769999999, "lng" : 139.481672 }, "viewport" : { "northeast" : { "lat" : 35.70331173029149, "lng" : 139.4830693802915 }, "southwest" : { "lat" : 35.7006137697085, "lng" : 139.4803714197085 } } }, "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png", "id" : "aa3e54b7e551417076cd2d6a6fcad3d4f5cf2b5d", "name" : "セブン-イレブン 国分寺本町2丁目店", "opening_hours" : { "open_now" : true }, "photos" : [ { "height" : 3240, "html_attributions" : [ "\u003ca href=\"https://maps.google.com/maps/contrib/107804304792480228126/photos\"\u003eさへきひろのぶ\u003c/a\u003e" ], "photo_reference" : "CmRaAAAAFX-0og7nRd6f09QsSgdOLWdvvKt0M4XRIfd-JUQ9TFibLfrQNtNISH5JE6TunGLbrLh30ZtiCQ7fMf_Da7qdl03tDZ392E02LUp-qAgGjS6okRWGB5iOfV2SKuz9X5ArEhBtbXU9T5bzax7Bn-2ZGeRJGhReTKPGjh0f7_3h2n1CPu2HunJN_w", "width" : 4320 } ], "place_id" : "ChIJg8RcfTbkGGARiMD28krJ2EY", "plus_code" : { "compound_code" : "PF2J+QM 日本、東京都 国分寺市", "global_code" : "8Q7XPF2J+QM" }, "rating" : 3.3, "reference" : "ChIJg8RcfTbkGGARiMD28krJ2EY", "scope" : "GOOGLE", "types" : [ "convenience_store", "food", "point_of_interest", "store", "establishment" ], "user_ratings_total" : 9, "vicinity" : "国分寺市本町2丁目13−1 中久ビル1F" },
退会済みユーザー

退会済みユーザー

2019/10/06 05:42

iphoneで実機デバッグしたら"セブン-イレブン 国分寺本町2丁目店"と表示されました。 simulatorだと若干変わってしまうですね。これからは実機でもデバッグして確認します!
tanishi_a

2019/10/06 06:16

自己解決したようで良かったです。 そういう話なら、うろおぼえですが、 iOS 自体の Locale? の設定が、明示的に指定しなければ日本語になってないとか、そんな感じの話だと思います。国名と言語名とそれぞれ設定があったはず。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問