2017-06-02 10 views
0

未知のstrucutreを持つJSONの解析に関するいくつかの質問を読んだ。しかし、これらの質問は迅速ではなく、私の問題を解決しません。未知の構造を持つJSONから値を見つけるSWIFT

Alamofire HTTPリクエストで入手できる大きなJSONファイルがあります。ここにあります:https://pastebin.com/Y7cWSWAt

実際、JSONは私の要求に応じて変更される可能性があります。ユーザーに応じて(たとえば)同じ構造であるとは限りません。ただし、同じキーと値があります。

私は値を見つけるためにJSONのキーを知っているので、それらは常に同じです。しかし私はそれらにアクセスする方法を知らない。さらに、私のJSONはAnyの型(私はそれを知らないので、私は彼に特定の型を与えることはできません)を持っています。

私の質問:これで値を見つける方法はありますか?特定のキーと値を見つけるためにすべてのJSON値をループすることはできますか? JSONファイルや辞書で作業する方が良いですか?私には分かりませんので、まだコードはありません。ありがとうございます!

答えて

0

NSDictionaryだけを使用したい場合は問題ありませんが、配列jsonを返すと、変数の型が等しくないため、アプリケーションがクラッシュする可能性があります。

let json = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) 
if json != nil { 
    let obj = json as? NSDictionary 
} 
//this part write all key and value 
for (key, value) in obj { 
     print("Property: \"\(key as String)\", Value: \"\(value as String)\"") 
    } 

入力:{"test1":"value1","test2":"value2"}

出力:

Property: "test1", Value: "value1" 
Property: "test2", Value: "value2" 
+0

あなたはJSONの構造を見れば、それは '[文字列:文字列]としてありませんが、これは動作しません'。それはもっと複雑です... –

+0

[String:String]平均は同じ "key"です: "value"/NSDictionaryもしあなたのjson値が配列でないなら、これはおそらく動作します。あなたのjsonはオブジェクトと配列を持っています。キーがわからないとキーを見ることができません。コード内の2番目の部分を試してください。すべての値が表示されます。 –

+0

JSONの他のすべての値を表示します.... –

関連する問題