2013-07-31 2 views
1

я получаю returnString от WebService в ИО:Как отформатировать ReturnString массив из WebService

[ 
{"datum":"2013-07-24 
09:38:43","nummer":"1017348010239480212208","anmerkung":"Elektronische 
Auftragsdaten wurden vom Versender 
\u00fcbermittelt"},{"datum":"2013-07-24 
09:38:44","nummer":"1017348010239480212208","anmerkung":"Sendung in 
Verteilung"},{"datum":"2013-07-24 
09:38:44","nummer":"1017348010239480212208","anmerkung":"Sendung in 
Verteilung"},{"datum":"2013-07-24 
09:38:44","nummer":"1017348010239480212208","anmerkung":"Sendung in 
Zustellung"},{"datum":"2013-07-24 
09:26:06","nummer":"1017348010239480212208","anmerkung":"Empf\u00e4nger 
nicht angetroffen - benachrichtigt"},{"datum":"2013-07-19 
06:24:42","nummer":"1017348010239480212208","anmerkung":"Sendung in 
Post-Empfangsbox eingelangt"} 
] 

Объективный C код работает отлично:

#import "SBJson.h" 

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
self.textfeld.text = [NSString stringWithFormat: @"%@", returnString]; 

Я пытаюсь форматировать ответ с NSMutableArray или NSArray и JSONValue, но без успеха:

NSMutableArray *meinErgebnis = [responseString JSONValue]; 

NSLog(@"%@",[[meinErgebnis objectAtIndex:0] objectAtIndex:1]); 

Как для форматирования returnCode?

Nummer: 1017348010239480212208 
Anmerkung: Sendung in Verteilung 

Nummer: 1017348010239480212208 
Anmerkung: Sendung in Post-Empfangsbox 

ответ

0

Используйте следующий код для получения всех значений Nummer и anmerkung из вашего изменяемый массив.

NSMutableArray *meinErgebnis = [responseString JSONValue]; 

for(int i = 0; i < meinErgebnis.count; i++) 
{ 
    NSLog(@"%@",[[meinErgebnis objectAtIndex:i] objectForKey:@"nummer"]); 
    NSLog(@"%@",[[meinErgebnis objectAtIndex:i] objectForKey:@"anmerkung"]); 
} 
+0

использование быстрого перечисления – Spynet

+0

@ArunThiru: быстрое перечисление? как? –

+0

@ LithuT.V Для каждого цикла нет ничего, кроме быстрого перечисления – Spynet

2

Вы можете получить данные с описанным ниже способом

id Data = [NSJSONSerialization JSONObjectWithData:fetchedData options:kNilOptions error:&error]; 

Затем вы можете зациклить данные соответственно. Например, для вашего примера

for(id object in Data) 
{ 
    NSLog(@"%@",[object valueForKey:@"nummer"]); 
    NSLog(@"%@",[object valueForKey:@"anmerkung"]); 
} 

Используемый выше цикл имеет быстрый тип перечисления. Надеюсь это поможет.

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