Проблема с анализом файла JSON

Я пытаюсь разобрать файл JSON с веб-страницы PHP на моем веб-сайте с помощью Swift, я получаю сообщение об ошибке «Не удается найти «все имена» в области видимости» в Xcode. Пожалуйста, найдите здесь мой код для Swift:

let serviceUrl = "http://***"
        let url = URL(string: serviceUrl)!
        guard url != nil else {
            return
        }

        let session = URLSession.shared

        let dataTask = session.dataTask(with: url){ (data, response, error) in
            
            if error != nil {
                print("Failed to download data")
            }else {
                let decoder = JSONDecoder()
                
                do{
                    let allnames = try decoder.decode(Entry.self, from: data!)
                }catch{
                    print("Error in JSON parsing")
                }
                
                print(allnames)
            }
        }
        dataTask.resume()
    } 

Спасибо за ваши ответы !

Актуальны ли теги php и mysql или я что-то упустил?

Nigel Ren 10.04.2022 16:32
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
5
1
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ваша переменная все имена выходит за рамки, вы должны объявить ее снаружи. изменить декларацию, как я,

    let serviceUrl = "http://***"
    let url = URL(string: serviceUrl)!
    guard url != nil else {
        return
    }

    let session = URLSession.shared

    let dataTask = session.dataTask(with: url){ (data, response, error) in
        
        if error != nil {
            print("Failed to download data")
        }else {
            let allnames = []
            let decoder = JSONDecoder()
            
            do{
                allnames = try decoder.decode(Entry.self, from: data!)
            }catch{
                print("Error in JSON parsing")
            }
            
            print(allnames)
        }
    }
    dataTask.resume()
} 

Привет, спасибо за ваши ответы, я попробовал, но все еще получаю сообщение об ошибке "Пустой литерал коллекции требует явного типа"

Abdelmouid Zouhir 10.04.2022 16:39

@AbdelmouidZouhir, я только что показал вам, что вам нужно изменить объявление вне Do ---- Хотя объявление зависит от вас, я не знаю типы данных allnames, поэтому, пожалуйста, немного измените код. попробуйте объявить пустой массив, подобный этому var allnames = [] as NSArray

AwatITWork 10.04.2022 16:44

@AbdelmouidZouhir всегда пожалуйста :)

AwatITWork 10.04.2022 16:47

Другие вопросы по теме