2017-06-02 10 views
0

で正しいこれは私のコードです:JsonParseのiPhoneデバイスでエラーが発生しましたが、シミュレータ

let res = try JSONSerialization.jsonObject(with: data!, options:.mutableContainers) as! [[String:Any]] 

データはResponse.dataの結果です。

これはシミュレータでうまく機能するが、JSONデータ形式は

[{"":""},{"":""},{"":""}] 

ようなものである場合iphone6でコンソール出力

Could not cast value of type ‘__NSDictionaryM’ to ‘NSArray’ 

jsondata帳票サーバは、Android、IOSシミュレータに適しています。しかし、私のiPhoneデバイスに関しては、コードは失敗します。 応答jsonデータの結果はちょうど{}ですが、空ですが、Xcodeシミュレータではうまくいきます。

いずれかの理由を教えてください。

+0

これは配列でない場合にこれを試してください:let res = try JSONSerialization.jsonObject(with:data!、options:.mutableContainers) [String:Any] – KKRocks

答えて

0

それが参考になる本をお試しください:as! Array<Dictionary<String,Any>>

場合はJSONが本当の配列である場合は、この[{"":""},{"":""},{"":""}]

+0

ありがとうございました!しかし、それはiPhoneでは動作しませんでしたが、Xcodeシミュレータはまだ順調です。シミュレータの[{"": ""}、{"": ""}、ブラウザのGET結果でさえ、応答データはデバイス内の{}です。 –

+0

タイプキャスト "Any"のレスポンスを表示しようとしました。 –

0

チェックのようなあなたのフォーマット。 ところで、データまたはjsonObjectのアンラップを強制しないでください

関連する問題