Я загрузил данные JSON Data, но у меня возникли проблемы с доступом к определенному объекту. Из моих данных в формате JSON, я пытаюсь вытащить последний value
из variableName = "Elevation of reservoir water surface above datum, ft";
Доступ к данным JSON в Objective C
Вот мой код:
- (void)viewWillAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSURL *url = [NSURL URLWithString:@"http://waterservices.usgs.gov/nwis/iv/?sites=02334400&period=P7D&format=json"];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
if (jsonData != nil) {
NSError *error = nil;
id result = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error: &error];
if (error == nil)
NSLog(@"%@", result);
}
}
Отредактировано: Это слишком много данных, чтобы напечатать выход, но вот как я достигаю объект в JS. Я не могу написать работу на утверждение, что будет делать то же самое в Obj-C:
var d = JSON.parse(responseText);
for (var i = 0; i < d.value.timeSeries.length; i++) {
if (d.value.timeSeries[i].variable.variableName == 'Elevation of reservoir water surface above datum, ft') {
var result = d.value.timeSeries[i].values[0].value[d.value.timeSeries[i].values[0].value.length - 1];
console.log(result);
}
NSLog ваш результат на консоль и опубликуйте это. Ваш 'id result' - это, вероятно, массив или словарь массивов или словарей. Мы должны понять это, чтобы мы могли идти за данными. –
JSON отображает непосредственно в слоистую структуру NSArrays и NSDictionarys. Вам нужно выяснить, какова фактическая структура (которая зависит от данных JSON), а затем просто очистить слои лука. –
Выход более 100000 символов. У меня возникли проблемы с дублированием этого оператора JS FOR в Obj-C. – mnort9