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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

3回答

2487閲覧

SwiftでのJSON受信 文字列が崩れる

mACS

総合スコア19

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2015/12/29 06:51

お世話になっております。
PHP→SwiftへJSONデータを送っているのですが、
受け取ったデータの文字列が崩れる場合があります。
(例)あいうえお → あいういうえお
(所々Unicodeが混じる時もあります。)
JSONのパースにはSwiftyJSONを使用していますが、自前でパースしても同様の結果でした。
足りない制御をご教授お願いいたします。

swift

1 let request = NSMutableURLRequest(URL: NSURL(string: url)!) 2request.HTTPMethod = "POST" 3let myData:NSData = text.dataUsingEncoding(NSUTF8StringEncoding)! 4request.HTTPBody = myData 5let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {data, response, error in 6 if (error == nil) { 7 let json = JSON(data: data!) 8 print(json) 9 } 10}) 11task.resume()

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

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

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

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

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

guest

回答3

0

解決済のようですが、

swift

1print(json.rawString())

ってことで。

投稿2016/01/04 07:25

fuzzball

総合スコア16731

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

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

0

自己解決

自己解決しました。
jsonをそのままprintして見ると崩れるのですが、
一つ一つの値を取り出してprintして見ると大丈夫でした。お騒がせしました。

swift

1// 全て表示すると崩れる 2print(json) 3// 一つ一つ取り出すと崩れていない 4print(json[0]["title"].string)

投稿2016/01/04 06:42

mACS

総合スコア19

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

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

0

ぱっと見た感じSwift側のコードが間違っている感じはないようです(たぶんですが....
PHP側でJSONの中身と、Swift側で受け取った時のJSONの中身を比較してみてはどうでしょうか。
上記の質問内容を見る限りでは、PHP側ですでにJSONのデータがおかしくなっているように感じます。

投稿2016/01/02 06:22

domonr

総合スコア263

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

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

mACS

2016/01/04 06:12

phpをサーバーでコマンド実行すると正常なJSONが出力されます。 パケットレベルで何か意識しないといけないのでしょうか。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問