おそらくそれほど問題はありませんが、検索で何も表示されません。次のように私は、JSONのモデルを持っている:スウィフトでネストされたJSON属性を解析します
//迅速な構文あなた
{user:
{"name": "",
"password": "",
"medium" : {
{"title":"",
{"description":""}}}
のモデルのアイデアを与えるために、私は、ユーザーにGET要求から上記のデータモデルを取得していますし、それがすべて返されます上記の情報が、私は "タイトル"のような "中"の情報を解析しようとするとき& "説明"私は運がないよ。
"オブジェクトの値 'AnyObject'がアンラップされていないか、!または?を使用することを意味しましたか?
これを修正するために丸い赤色のXcodeメッセージをクリックすると、どこにでも!sと?sが残っていますが、エラーは残ります。ここでは、私が "媒体"からのみ解析していたとき、完璧にうまく機能していた私の解析メソッドがあります。私が間違っていることは何か考えていますか?
私は属性ごとに同じエラーを取得し、解析方法の一部: *
// Parse JSON data
let jsonMedium = jsonResult?["user"] as! [AnyObject] //media where user is
for jsonMedia in jsonMedium {
let media = Media()
*media.title = jsonMedia["medium"]["title"] as! String
*media.description = jsonMedia["medium"]["description"] as! String
*media.category = jsonMedia["medium"]["category"] as! String
*media.image = jsonMedia["medium"]["image"] as! String
*if let IDer = jsonMedia["medium"]["id"] as? Int{
var stringIder = String(IDer)
media.identifierString = stringIder
}
で示される同じエラーを持つすべての行は何でまだ運。私はそれが正規のJSONで動作する理由を理解していませんが、入れ子にするときにXcodeは何も受け付けません。すべてのあなたの助けを感謝しています。一方で、ここで完全な方法は、それはそれ以上
func parseJsonData(data: NSData) -> [Media] {
var medium = [Media]()
do {
let jsonResult = try NSJSONSerialization.JSONObjectWithData(data,
options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
// Parse JSON data
let jsonMedium = jsonResult?["media"] as! [AnyObject]
for jsonMedia in jsonMedium {
let media = Media()
media.title = jsonMedia["medium"]["title"] as! String
media.description = jsonMedia["medium"]["description"] as! String
media.category = jsonMedia["medium"]["category"] as! String
media.image = jsonMedia["medium"]["image"] as! String
if let IDer = jsonMedia["medium"]["id"] as? Int{
var stringIder = String(IDer)
media.identifierString = stringIder
}
medium.append(media)
}
} catch {
print(error)
}
return medium
}
をxcodeの構文エラー?? –
はい。 * –
に記載されているすべての行について説明したオブジェクトの値は、スカイプに来ることができますか? –