2014-11-07 3 views
-1

Я новичок в Xcode, iOS и json, поэтому я пытаюсь получить данные с моего сервера, но когда я вызываю действие, он возвращает null. Пожалуйста, помогите мне с этим?Попытка поймать данные с помощью json, возвращается

Вот код:

- (IBAction)buscardados:(id)sender { 

    NSURL *local = [NSURL URLWithString:panhacaminho]; 

    NSData *datas = [NSData dataWithContentsOfURL:local]; 

    json=[NSJSONSerialization JSONObjectWithData: datas options:kNilOptions error:nil]; 

    dados=[[NSMutableArray alloc]init]; 
    for (int i=0; i<json.count; i++) 
    { 
     entrantsArray = [[[json objectForKey:@"ID"] allValues] objectAtIndex:i]; 


    } 
    NSLog(@" Identificacao: %@", entrantsArray); 

} 

данных в Json:

{ "aviao": [{ "ID": "1", "Название": "ART580", "логотип" : null, «NOMECOMPAINHA»: «TACV», «CAPACIDADE»: «250», «DATE_LOG»: «2013-12-10 17:02:34», «vooses»: [{«ID»: «1», "Codigo": "V534PS", "ID_ROTA": "1", "ID_AVIAO": "1", "AEROPORTOPARTIDA": "1", "AEROPORTOCHEGADA": "2", "DATAPARTIDA": "2013-08-08 », "DATACHEGADA": "2013-08-09", "HORAPARTIDA": "23:45:00", "HORACHEGADA": "2:20:00", "TIPOVOO": "Насьональ", "ESTADO": "0", "DATE_LOG": "2013-12-10 17:02:47"}

Я хочу получить эти атрибуты в переменных

+0

здесь путь "panhacaminho" HTTP: //192.168. 1.110/238cv/restfullapi.php/api/aviao " –

+1

Знаете ли вы значение 192.168.1.110? Это не сработает, за исключением ваших коллег в той же сети. – gnasher729

+0

Я знаю, что ... его ip-сервер, который я собираюсь в базу данных моей базы данных –

ответ

1

Вам нужно выяснить, были ли вы получены какие-либо данные и какова структура ваших данных, путем вызова NSLog (@ "% @", json).

И вам нужно серьезно изучить основы NSDictionary, NSArray и т. Д., Потому что код, который вы написали, показывает, что вы ничего не знаете об этом. Xcode имеет всю необходимую документацию для этих классов.

+0

, когда я делаю NSLog (@ " % @ ", json) он показывает данные, но я думаю, что проблема заключается в том, когда я собираюсь поместить его в NsDictionary –

0

Это зависит от ответа, полученного с вашего сервера. Если у вас есть что-то вроде:

EDITED ЗДЕСЬ с информацией Ответ:

{"aviao": [{"ID":"1","NOME":"ART580","LOGO":null,"NOMECOMPAINHA":"TACV","CAPACIDA‌​DE":"250","DATE_LOG":"2013-12-10 17:02:34",... 

Вы можете попробовать это:

NSError *e = nil; 
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error]; 

if (!json) { 
    NSLog(@"Error parsing JSON: %@", e); 
} else { 
    NSArray *arrayTemp = json[@"aviao"] 
    for(NSDictionary *item in arrayTemp) { 
     NSLog(@"Item: %@", item); 
     //or, to check some values.... 
     NSLog(@"ID:%@ NOME:%@ LOGO:%@",item[@"ID"],item[@"NOME"],item[@"LOGO"]); 
    } 
} 
+0

{" aviao ": [{" ID ":" 1 "," NOME ":" ART580 "," «LOGO»: null, «NOMECOMPAINHA»: «TACV», «CAPACIDADE»: «250», «DATE_LOG»: «2013-12-10 17:02:34», «vooses»: [{«ID»: 1 »,« CODIGO »:« V534PS »,« ID_ROTA »:« 1 » –

+0

где« aviao »- это моя таблица и содержимое в некоторых случаях –

+0

вот так он возвращается на nslog просто« aviao » –

Смежные вопросы