Как я могу получить данные JSON из файла PHP, используя Swift 2.1 и XCode?

Я пытался извлечь данные из одной из моих баз данных для отображения в мобильном приложении, которое я делаю с использованием Swift 2.1 и XCode. У меня есть база данных mysql, которая настроена, и скрипт php, запущенный с моего сервера, который отображает JSON-кодированные данные из этой базы данных.

Мое приложение swift может отправлять данные в сценарий PHP и отправлять данные в базу данных, но я не могу получить данные из сценария PHP для отображения в приложении. Я попробовал большинство методов, но они не работают для последней версии swift.

Вот мой код:

func dataOfJson(url: String) -> NSArray {
let data = NSData(contentsOfURL: NSURL(string: url)!)
let result: NSArray = []
do {
let json = try (NSJSONSerialization.JSONObjectWithData(data!, options: [NSJSONReadingOptions.MutableContainers, NSJSONReadingOptions.AllowFragments]) as? NSDictionary)

if let parseJSON = json {
let resultValue = parseJSON["id"] as? String?
print(resultValue)
}

} catch let error as NSError {
print(error.localizedDescription)
}
return result
}

И результат моего PHP-файла выглядит так:

[{"id":"alex"},{"id":"jeff"},{"id":"jack"}]

Как я могу получить эти данные JSON и сохранить их в быстрых переменных?

1

Решение

Попробуй это

func dataOfJson(url: String) -> Array<Dictionary<String,String>>? {

let data = NSData(contentsOfURL: NSURL(string: url)!)
do {

let jsonArray = try NSJSONSerialization.JSONObjectWithData(data!, options: [NSJSONReadingOptions.MutableContainers, NSJSONReadingOptions.AllowFragments]) as? Array<Dictionary<String, String>>

print("json := \(jsonArray)")
return jsonArray;

} catch let error as NSError {
print(error.localizedDescription)
return nil;
}
}

Я проверил с кодом ниже, работает нормально.

let string = "[{\"id\":\"alex\"},{\"id\":\"jeff\"},{\"id\":\"jack\"}]";

let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)

let jsonArray = try NSJSONSerialization.JSONObjectWithData(data!, options: [NSJSONReadingOptions.MutableContainers, NSJSONReadingOptions.AllowFragments]) as? Array<Dictionary<String, String>>

print("json := \(jsonArray)")

for object in jsonArray! {
print("id := \(object["id"])");
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]