如何格式化Web服务中的返回字符串数组

时间:2013-07-31 05:16:02

标签: iphone ios objective-c json web-services

我从iOS中的WebService获取了一个returnString:

[
{"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"}
]   

Objective C Code工作正常:

#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

2 个答案:

答案 0 :(得分:2)

您可以使用以下方法获取数据

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

然后您可以相应地循环数据。对于你的例子,

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

上面使用的循环是快速枚举类型。希望这会有所帮助。

答案 1 :(得分: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"]);
}