Я использую API для вывода файла JSON как такового, и поэтому не могу редактировать формат файла JSON. Есть ли какой-нибудь способ иметь возможность перебирать каждую внутридневную дату, чтобы найти значение open в каждой дате?
Я пытался использовать Object.intraday[0].open
, однако, похоже, это не работает, так как он не содержится в массиве?
Я понимаю, что могу использовать Object.intraday.date.open
(где дата, например, "2018-10-19 15:59:00:"); однако я хочу иметь возможность индексировать в разное время.
{
"symbol": "AAPL",
"stock_exchange_short": "NASDAQ",
"timezone_name": "America/New_York",
"intraday": {
"2018-10-19 15:59:00:" {
"open": "219.49",
"close": "219.23",
"high": "219.61",
"low": "219.19",
"volume": "302415"
},
"2018-10-19 15:58:00:" {
"open": "219.62",
"close": "219.48",
"high": "219.70",
"low": "219.48",
"volume": "173762"
},
....
Это Паскаль-код, который я использую для этого, используя тестовый JSON {"intraday":{"2018-10-1915:59:00":{"open":"23","low":"4"},"2018-10-1915:58:00":{"open":"25","low":"21"}}}
JSONValue := TJSONObject.ParseJSONValue('{"intraday":{"2018-10-1915:59:00":{"open":"23","low":"4"},"2018-10-1915:58:00":{"open":"25","low":"21"}}}');
j:=0;
begin
if JSONVAlue is TJSONObject then
begin
// Get the quote and low values
quote := JSONValue.GetValue<string>('intraday[0]');
low := JSONValue.GetValue<string>('intraday.low');
Memo1.Lines.Add(quote + ': ' + low);
j := j+1;
end;
end;