Разбор JSON в Swift 4 с Youtube и Alamofire - Вложенный JSON - PullRequest
0 голосов
/ 15 октября 2018

Я все еще изучаю синтаксический анализ JSON в Swift 4, и последний пример, над которым я работаю, оказывается немного сложным, хотя, возможно, и простым на вид.

Я получаю доступ к дате через ....

if let JSON = response.result.value as? NSDictionary {
                print(JSON)
                let value = JSON["rows"]
                print(value!)
            }

Однако я хочу получить доступ только к значению внутри (()).

{
    columnHeaders =     (
                {
            columnType = METRIC;
            dataType = INTEGER;
            name = estimatedMinutesWatched;
        }
    );
    kind = "youtubeAnalytics#resultTable";
    rows =     (
                (
            20
        )
    );
}

В этом случае я пытаюсь получить доступ к значению 20.Когда я вставляю в валидатор JSON, я получаю сообщение об ошибке «ключ не существует».

Но в JSON значение 20 также является двойным вложением.

ЭтоИзвлечение из API YouTube Analytics.

1 Ответ

0 голосов
/ 16 октября 2018

Похоже, что ваш контент представляет собой словарь с ключевыми «строками», который содержит массив массивов Int s.

Имитация ваших данных:

let rows = ["rows": [[20]]] as NSDictionary

if let row = rows["rows"],
    let rowAsArray = row as? [[Int]] {
    print(row)
    print(rowAsArray[0][0])
}

Первыйвыводит оператор вывода:

(
        (
        20
    )
)

Это похоже на ваш формат вывода.

...