Как разобрать массив JSON из базы данных в swift - PullRequest
0 голосов
/ 29 июня 2018

В моем приложении я пытаюсь проанализировать файл JSON.

Это мой JSON:

[{"localals": [{"name": "Mission Chinese Food", "localDescription": "A", "photo": "img_02.jpg", "address": "171 E Broadway, New York , NY 10002 "," расписание ":" Lunedi al Sabato 08: 00-12: 00 и 14: 00-18: 00 Доменика 08: 00-12: 00 и 14: 00-18: 00 "," numberOfReviews ": 10, "numberInCity": 2, "cityName": "New York", "ratingValue": 5}, {"localals": [{"name": "Mission Chinese Food", "localDescription": "A", " фотография ":" img_02.jpg "," адрес ":" 171 E Broadway, New York, NY 10002 "," расписание ":" Lunedi al Sabato 08: 00-12: 00 e 14: 00-18: 00 Domenica 08 : 00-12: 00 e 14: 00-18: 00 "," numberOfReviews ": 10," numberInCity ": 2," cityName ":" New York "," ratingValue ": 5},]

Это мой быстрый файл:

let url = URL(string: "https://www.litos.srl/showtime/dbGetLocal.php")

do {
    let data = try Data(contentsOf: url!)
    print(data[0])

    guard let rootObject = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String:AnyObject]]  else {
    return locals
}

print(rootObject)
let localsObjects = rootObject[0]["locals"] as? [[String:AnyObject]]

    } catch {
        print(error)
        return locals
    }
    return locals
}

Это ошибка, которая возникает в Xcode при сборке и запуске кода:

60 Ошибка домена = NSCocoaErrorDomain Code = 3840 «Недопустимое значение вокруг символа 0.» UserInfo = {NSDebugDescription = Недопустимое значение вокруг символа 0.} 2018-06-29 09: 44: 19.293880 + 0200 eventsProject [13504: 4365358] [BoringSSL] Функция boringssl_session_errorlog: строка 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN (6): операция завершилась неудачно, так как соединение было чисто отключено с предупреждением close_notify 2018-06-29 09: 44: 19.294067 + 0200 eventsProject [13504: 4365358] [BoringSSL] Функция boringssl_session_errorlog: строка 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN (6): операция завершилась неудачно, так как соединение было чисто отключено с предупреждением close_notify 2018-06-29 09: 44: 19.294258 + 0200 eventsProject [13504: 4365358] [BoringSSL] Функция boringssl_session_errorlog: строка 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN (6): операция завершилась неудачно, поскольку соединение было чисто отключено

уведомлять о закрытии * уведомить о закрытии *

Как мне проанализировать мой JSON и получить данные по swift?

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Попробуйте это. Это будет работать, если ваш JSON действителен.

Например.

[{"местные жители": [ {"name": "Mission Chinese Food", "localDescription": "A", "photos": "img_02.jpg", "address": "171 E Broadway, New York, NY 10002", "schedule": " Lunedi al Sabato 08: 00-12: 00 и 14: 00-18: 00 Доменика 08: 00-12: 00 и 14: 00-18: 00 "," numberOfReviews ":" 10 "," numberInCity ":" 2 "," cityName ":" New York "," ratingValue ":" 5 "}]}]

if let data = JSON as? NSArray {
        for data in data {
            if let data = data as? [String: AnyObject] {
                if let data = data["locals"] as? NSArray {
                    for data in data {
                        if let data = data as? [String: AnyObject] {

                        }
                    }
                }
            }
        }
    }
0 голосов
/ 29 июня 2018

В ваших данных Url Response отсутствует функциональность, проверьте, нет ли правильного конца словаря.

Ниже ваш ответ Json

{"id": 0, "name": "Mission Chinese Food", "localDescription": "A", "photos": "img_02.jpg", "address": "171 E Broadway, New York, NY 10002 "," расписание ":" Lunedi al Sabato 08: 00-12: 00 и 14: 00-18: 00 Доменика 08: 00-12: 00 и 14: 00-18: 00 "," numberOfReviews ": 10 , "numberInCity": 2, "cityName": "New York", "ratingValue": 5} stdClass Object ([locals] => 0) {"id": 1, "name": "Mission Chinese Food", "localDescription": "B", "photograph": "img_02.jpg", "address": " 171 E Бродвей, Нью-Йорк, NY 10002 "," расписание ":" Lunedi al Sabato 08: 00-12: 00 e 14: 00-18: 00 Доменика 08: 00-12: 00 e 14: 00-18:00 "," numberOfReviews ": 10," numberInCity ": 2," cityName ":" New York "," ratingValue ": 5} stdClass Object ([locals] => 0) {"id": 2, "name": "Jubba the Hutt", "localDescription": "V", "photograph": "img_02.jpg", "address": " 171 E Бродвей, Нью-Йорк, NY 10002 "," расписание ":" Lunedi al Sabato 08: 00-12: 00 e 14: 00-18: 00 Доменика 08: 00-12: 00 e 14: 00-18:00 "," numberOfReviews ": 10," numberInCity ": 2," cityName ":" New York "," ratingValue ": 5} Объект stdClass ([locals] => 0) Объект stdClass ([locals] => 0)

0 голосов
/ 29 июня 2018

enter image description here Ваши данные неверны. Не должны заканчиваться , до ] скобкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...