-1
symbolString
というStringの値を取得できませんでした。私はこれをする方法を知らない。これは私がこれまでに得たものです。最初にDataの子を取得してから、symbolString
に移動してImageUrl Valueを取得しました。それは動作していないようです。助けてください!StringでJsonの子を取得する
final let urlString = "https://www.cryptocompare.com/api/data/coinlist/"
func downloadJsonWithURL() {
let url = NSURL(string: urlString)
URLSession.shared.dataTask(with: (url as? URL)!, completionHandler: {(data, response, error) -> Void in
if let jsonObj = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary {
if let DataArray = jsonObj!.value(forKey: "Data") as? NSArray {
print(DataArray)
for Data in DataArray{
if let DataDict = Data as? NSDictionary {
if let nameURL = DataDict.value(forKey: "\(self.symbolString)") as? NSDictionary {
if let name = nameURL.value(forKey: "ImageUrl") {
self.imageString.append(name as! String)
print(self.imageString)
}
}
}
}
}
}
}).resume()
}
JSONには配列( '[]')はありません。すべてのコレクションタイプは辞書( '{}')です。ちなみに、変数名は小文字で始まり、SwiftでNSArray、NSDictionary、およびvalueForKeyを使用しません。 – vadian
あなたのデータには 'symbolString'のインスタンスはありません。正確にそれを見つけることを期待していますか? – Patru
symbolStringは、たとえば "BTC"の文字列です。それはうまくいく、私はそれをチェックした。しかし、あなたがURLを見ると、私はまず "Data"と "BTC"(symbolString)のようにする必要があります。しかし、私はそれを行う方法を知らない。 – Danjhi