私は.jsonファイルを解析しようとしているが、私は、私は終わりに近いと思ったとして、エラーが発生しました:は、型の値をキャストすることができませんでした「__NSCFBoolean」(0x100b123b8「)NSStringの」に(0x100f0ab48)
タイプ '__NSCFBoolean'(0x10c8ba3b8)の値を 'NSString'(0x10ccb2b48)にキャストできませんでした。
それでは、どのように私はこれを避けることができます...私は私の.jsonのStringのスタッドにいじりいくつかのブール値を持っていることを
を私は私の研究を行っていると私は(驚き)に見つかりましたか?私は文字列に入れようとする前に、バーのタイプ["tags"]を与えることができるいくつかのメソッドを探しましたが、見つけることができません。
ここには、 JSONと私(長すぎ)コード:
...{
"id": 3906,
"address": "L\u2019Hotel le 123 Sebastopol 23, boulevard S\u00e9bastopol, Paris, 75002, Le Louvre, Paris",
"name": "123 Sebastopol",
"url": "/bar/paris/le-louvre/123-sebastopol",
"image_url": "https://prh-wbb-prod.s3.amazonaws.com/generic_640_480/WBB%20holding%20image3_54abcf7d218d1_55b8d2128eabb.jpg",
"tags": "Hotel, Cocktail, Terrace",
"latitude": 48.867598851356,
"longitude": 2.3533117460327
}, {
"id": 1523,
"address": "73 Rue d\u0027Aboukir, 75002 Paris, France, Le Louvre, Paris",
"name": "Lockwood",
"url": "/bar/paris/le-louvre/lockwood",
"image_url": "https://prh-wbb-prod.s3.amazonaws.com/bar_640_480/lockwood_001_553f5b2c99f4b.jpg",
"tags": false,
"latitude": 48.867716087563,
"longitude": 2.3469846706722
}...
私のコード:
id = (bar["id"] as? Int)!
name = (bar["name"] as? String)!
adress = (bar["address"] as? String)!
url = (bar["url"] as? String)!
image_url = (bar["image_url"] as? String)!
tags = (bar["tags"] as? String)!
latitude = (bar["latitude"] as? Double)!
longitude = (bar["longitude"] as? Double)!
JSONの "タグ"には:false、 'があります。これがエラーの原因です。 –
あなたの最初のスタブは**タグ**を文字列として表示し、2番目のタグはboolとして表示します。それがエラーの原因です。 –
この行はエラー をprovocします。tags =(bar ["tags"]?String)! "tags"はString(200/208)であるはずですので、falseを空のStringに置き換えるだけです – Renaud