2013-08-01 49 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"]; 
}