2016-04-12 10 views
-2

私はSwiftのJSON解析に取り組んでいます。SwiftのJSONからキーを取得する方法は?

var results = [String:[AnyObject]]()

以下に示すように上記resultsは、データが実行時に動的に追加され、ここで

"fruit" = ( "apple", "orange" );

、データを持っています。私が必要とするのは、キーを取得し、ヘッダーとしてテーブルビューに表示することだけです。

keyresultsから迅速に入手するにはどうすればよいですか?

+1

http://stackoverflow.com/questions/24013410/how-to-parse-a-json-file-in-swift – Birendra

+0

このリンクは役に立ちます – Birendra

答えて

0

Iを使用している、

var results = [String:Array<DataModel>]

場合、

class DataModel { 
    var name: String?  
} 

、キーと値を取得します3210
for i in 0...(results.length-1){ 
    // To print the results keys 
    print(results.keys[results.startIndex.advancedBy(i)]) 
    // To get value from that key 
    let valueFromKeyCount = (results[results.keys[results.startIndex.advancedBy(i)]] as Array<DataModel>).count 
    for j in 0...(valueFromKeyCount-1) { 
     let dm = results[results.keys[results.startIndex.advancedBy(i)]][j] as DataModel 
     print(dm.name) 
    } 
} 
0

json形式(例えば、辞書に変換する)に変換してからすべてのキーを取得するには、NSJSONSerializationクラスを使用する必要があります。

1

JSONをBirendraの提案したリンク先のように辞書に変換することができます。次に、jsonDictがjson構文解析された辞書であるとします。次に、jsonDict.keysを使用してすべての鍵のコレクションを取得できます。

2

NSJSONSerializationコード例...

var results = [String:[AnyObject]]() 
let jsonResult = try NSJSONSerialization.JSONObjectWithData(results, options:NSJSONReadingOptions.MutableContainers); 

for (key, value) in jsonResult { 
    print("key \(key) value2 \(value)") 
} 
+0

これはSwift 3では現在無効です。 :タイプ 'AnyObject'がプロトコル 'Sequence'に準拠していません – zeeshan

関連する問題