2016-10-17 3 views
0

私はswson 3でjson構文解析を試みています。swift:文字列型のインデックスを持つ[Dictionary <String、AnyObject>]型の値を添字にすることはできません。

if let responseData = data { 
    do { 
    let json = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.allowFragments) 
    if let dict = json as? [Dictionary<String, AnyObject>] { 
     if let localityName = dict["name"] as? String ,let localityId = dict["_id"] as? String { 

     }    
    }   
    } catch { 
     print("could not serialize")    
    } 
} 

私は行でエラーを取得しています:

if let localityName = dict["name"] as? String ,let localityId = dict["_id"] as? String 

は、私はこの問題を解決する方法を教えてください

+0

'Dictionary'の' Array'を作成しています。これは有効ですか? 'Int'値で' subscript'する必要があります。 –

+0

@ New16私の回答は辞書の配列です – focus

+0

@ EICaptainv2.0私の回答は辞書の配列 – focus

答えて

0

dictが実際arrです。

if let arr = json as? [Dictionary<String, AnyObject>] { 
    for item in arr { 
     if let localityName = item["name"] as? String, 
     let localityId = item["_id"] as? String { 
     print(localityName, localityId) 
     } 
    } 
} 
+0

これは感謝しました – focus

1

dictプロパティが配列である、次のように私の解析技術であります辞書ではなく辞書である。 最初の要素は次の名前にアクセスできます。

dict.first?["name"] 
関連する問題