2013-08-01 22 views
0

我尝试读取多维数组的请求,从内容:Multidimention阵列objectAtIndex

[ 
    { 
    "content" : { 
     "parcel" : { 
     "ServiceParcelEventPostalCode" : "1005", 
     "ConsigneePostalCode" : "1220 (292)", 
     "ParcelTypeDescription" : "Paket", 
     "ReferenceIdentcode" : "1017348010239480212208", 
     "CustomerShipmentNr" : "N\/A", 
     "Identcode" : "1017348010239480212208", 
     "ReferenceNumber" : "D1Lmp8TPN_1", 

..........等

我,试图让ServiceParcelEventPostalCode无访问:

NSString *urlString = @"http://www.post.at/sendungsverfolgung4.php"; 

    NSURL *url = [NSURL URLWithString:urlString]; 

    // URL-Request-Objekt erstellen 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
    [request setURL:url]; 
    [request setHTTPMethod:@"GET"]; 

    NSMutableData *body = [NSMutableData data]; 
    NSString *postWerte = [NSString stringWithFormat:@"id=%@", self.textfeld.text]; 

    [body appendData:[postWerte dataUsingEncoding:NSUTF8StringEncoding]]; 

    [request setHTTPBody:body]; 

    // Abfrage ans Web senden und Rückgabe in Variable speichern 
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 

    const char *convert = [returnString UTF8String]; 
    NSString *responseString = [NSString stringWithUTF8String:convert]; 
    NSMutableArray *meinErgebnis = [responseString JSONValue]; 

    NSString *wert1 = [NSString stringWithFormat:@"%@",[[[meinErgebnis objectAtIndex:2] objectAtIndex:0] objectForKey:@"ServiceParcelEventPostalCode"]]; 
+0

什么是'objectAtIndex:0.2'应该这样做?分数指数 –

+0

什么是'meinErgebnis'? – Wain

+0

以及为什么你将NSString转换为char *并返回? – Kreiri

回答

0

只需按照您的JSON结构。 []中的JSON表示数组,{}表示字典。如果你的例子中的JSON是你的responseString

NSMutableArray *jsonArray = [responseString JSONValue]; 
NSString *postalCode = nil; 
if (jsonArray.count) 
{ 
    NSDictionary *elementDict = [jsonArray objectAtIndex:0]; 
    NSDictionary *contentDict = [elementDict objectForKey:@"content"]; 
    NSDictionary *parcelDict = [contentDict objectForKey:@"parcel"]; 
    postalCode = [parcelDict objectForKey:@"ServiceParcelEventPostalCode"]; 
}