Как проанализировать данные из JSON, которые внутри {}? - PullRequest
0 голосов
/ 18 мая 2019

Эй, я пытаюсь проанализировать некоторые данные из API ниже, но, как вы видите в ссылке, некоторые данные находятся под {0}, {1} ... своего рода формированием, я предполагаю, что почему я не смог разобрать данные с помощью этой строки кода?

https://financialmodelingprep.com/api/v2/financials/income-statement/AAPL?datatype=json

func updateStockData(json : JSON)
{

    if let revenue = json["financials"]["5"]["Revenue"].double
    {
        print(revenue)
        stockPriceLabel.text = "$" + String(revenue)
    }
    else
    {
        print("unavaiable")
    }
}

Ответы [ 2 ]

0 голосов
/ 18 мая 2019

Я тестировал библиотеку SwiftBooster (написано мной), и она работала хорошо.Нет необходимости создавать структуру или класс для моделирования json или приведения значения String к Double.

import SwiftBooster

func updateStockData(json : JSON)
{

    if let revenue: Double = getValue(input: response.responseJsonObject, subscripts: "financials", 5, "Revenue")
    {
        print(revenue)
        stockPriceLabel.text = "$" + String(revenue)
    }
    else
    {
        print("unavaiable")
    }
}

Обратите внимание, что для второго ключа следует использовать 5, а не "5"

0 голосов
/ 18 мая 2019

значение для ключа "finiancials" является массивом, поэтому вы должны индексировать его, используя целое число. Кроме того, доход в JSON - это строка, поэтому вы должны прочитать ее как таковую и вручную преобразовать в двойное значение:

if let revenueString = json["financials"][5]["Revenue"].string, let revenue = Double(revenueString) {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...