2017-07-11 42 views
0

我怎樣才能得到以下數據與迅速3爲我的iOS應用程序?如何從ios Swift 3的soap web服務方法獲取json數組字符串?

<string xmlns="http://tempuri.org/"> 
[ { "Hotel_id": 1, "Hotel_Name": "Sherwood Breezes Resort", "Company_id": 1 }, { "Hotel_id": 2, "Hotel_Name": "Sherwood Dreams Resort", "Company_id": 1 }, { "Hotel_id": 3, "Hotel_Name": "TUI Sensimar Resort", "Company_id": 1 }, { "Hotel_id": 4, "Hotel_Name": "Sherwood Greenwood Resort", "Company_id": 1 }, { "Hotel_id": 5, "Hotel_Name": "Sherwood Club Kemer", "Company_id": 1 }, { "Hotel_id": 6, "Hotel_Name": "Sherwood Prize Hotel", "Company_id": 1 } ] 
</string> 

我需要將這些數據作爲json數組並將其轉換爲數組。

+0

這是返回字符串嗎?爲什麼它被html標記包圍 –

+1

使用'(NS)XMLParser'來檢索標記內的JSON。然後使用'(NS)JSONSerialization'來檢索你的字典數組。 – Larme

+0

你可以舉一個例子作爲一個aswer如何做到這一點? – arzucaki

回答

0

首先,您需要刪除字符串中的html標記。您只需要json部分。

let yourString = yourString .replacingOccurrences(of: "<[^>]+>", with: "", options: String.CompareOptions.regularExpression, range: nil) 

然後解析成JSON。不要忘了解開包裝

let data = yourString.data(using: .utf8) 

do{ 
    let jsonArray = try JSONSerialization.jsonObject(with: data!, options: []) as? [Any] 
    //You can start looping though the array from this point. 
    let firstHotel = jsonArray?[0] as? [String: Any] 
    let Hotel_id = firstHotel?["Hotel_id"] as? Int 
    let Hotel_Name = firstHotel?["Hotel_Name"] as? String 
    let Company_id = firstHotel?["Company_id"] as? Int 
}catch let error{ 

} 
+0

好的,謝謝你方明寧我得到了那部分,但我不能得到這個返回字符串迅速,這是我的主要問題。我怎樣才能迅速獲得這個字符串?我怎樣才能做肥皂web服務連接並將參數發送到webmethod? – arzucaki

+0

@arzucaki什麼是網址和參數? –

相關問題