जब मैं यहां डबल स्कोप का उपयोग कर रहा हूं [[String: Any]]
jsonArray खाली हो रहा है इसे ठीक से कैसे काम करें?
मैंने [String: Any]
का उपयोग करने की कोशिश की, यह काम करता है, लेकिन अब मैं [ 0 ]["aaData"]
का उपयोग नहीं कर सकता (उदाहरण के लिए) यह कहता है "प्रकार के एक मान को सब्सक्राइब नहीं कर सकता '[स्ट्रिंग: कोई भी]' प्रकार की अनुक्रमणिका के साथ ' NS'"।
func displayURL(){
let myURLAdress = "http://www.ucrf.gov.ua/wp-admin/admin-ajax.php?action=get_wdtable&table_id=1&sEcho=3&iColumns=10&sColumns=&iDisplayStart=0&iDisplayLength=-1&mDataProp_0=0&mDataProp_1=1&mDataProp_2=2&mDataProp_3=3&mDataProp_4=4&mDataProp_5=5&mDataProp_6=6&mDataProp_7=7&mDataProp_8=8&mDataProp_9=9&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&sSearch_1=&bRegex_1=false&bSearchable_1=true&sSearch_2=&bRegex_2=false&bSearchable_2=true&sSearch_3=&bRegex_3=false&bSearchable_3=true&sSearch_4=&bRegex_4=false&bSearchable_4=true&sSearch_5=&bRegex_5=false&bSearchable_5=true&sSearch_6=&bRegex_6=false&bSearchable_6=true&sSearch_7=&bRegex_7=false&bSearchable_7=true&sSearch_8=&bRegex_8=false&bSearchable_8=true&sSearch_9=LTE-2600&bRegex_9=false&bSearchable_9=true&sRangeSeparator=~&_=1545585236527"
let myURL = URL(string: myURLAdress)
let task = URLSession.shared.dataTask(with: myURL!) { (data, response, error) in
guard let dataResponse = data,
error == nil else {
print(error?.localizedDescription ?? "Response Error")
return }
do{
//here dataResponse received from a network request
let jsonResponse = try JSONSerialization.jsonObject(with:
dataResponse, options: [])
//print(jsonResponse)
guard let jsonArray = jsonResponse as? [[String: Any]] else {
return
}
print(jsonArray)
} catch let parsingError {
print("Error", parsingError)
}
}
task.resume()
}
}
1 उत्तर
आप की जरूरत है
let jsonResponse = try JSONSerialization.jsonObject(with:dataResponse, options: []) as! [String:Any]
guard let jsonArray = jsonResponse["aaData"] as? [[String]] else {
return
}
आपकी जेसन संरचना
{
"sEcho": 3,
"iTotalRecords": "174289",
"iTotalDisplayRecords": "1448",
"aaData": [[ "" ,"" , ""]]
}
बीटीडब्ल्यू हमेशा सलाह देते हैं
struct Root : Codable {
let sEcho: Int
let iTotalRecords, iTotalDisplayRecords: String
let aaData: [[String]]
}
फिर
let res = try JSONDecoder().decode(Root.self,from:data)
let arr = res.aaData
संबंधित सवाल
नए सवाल
arrays
एक सरणी एक आदेशित रैखिक डेटा संरचना है जिसमें तत्वों (मूल्यों, चर, या संदर्भों) का एक संग्रह होता है, प्रत्येक को एक या अधिक अनुक्रमित द्वारा पहचाना जाता है। जब सरणियों के विशिष्ट प्रकारों के बारे में पूछा जाता है, तो इसके बजाय इन संबंधित टैगों का उपयोग करें: [वेक्टर], [सरणी सूची], [मैट्रिक्स]। इस टैग का उपयोग करते समय, एक सवाल जो प्रोग्रामिंग भाषा के लिए विशिष्ट होता है, उस प्रश्न को उस प्रोग्रामिंग भाषा के साथ टैग करें जिसका उपयोग किया जा रहा है।