-1

json 呼び出しがあり、結果を UILabel に解析します。私のjson応答では、クライアントの下に4つの名前があります。

すべてのクライアントを UILabel に入れようとしています。

現在、json 応答からは 4 つのクライアントのうち最後のものしか表示されませんが、ログでは 4 つのクライアントすべてを表示できます。

下の写真を見ると、json 呼び出しの 4 番目のクライアントである brithouse が表示されます。mu uilabel で 4 つのクライアントすべてを表示したいですか? 現在、最後のクライアントしか表示されません。

ありがとう

{
   "ProfileID":34,
   "ProfilePictureID":20,
   "Name":"Bilbo Baggins",
   "Clients":
   [
      {
         "ClientID":91,
         "Name":"Fnurky"
      },
      {  
         "ClientID":92,
         "Name":"A different client"
      },
      {
         "ClientID":95,
         "Name":"Second Community"
      },
      {
         "ClientID":96,
         "Name":"Britehouse"
      }
   ]
}

私の目的のCコード

NSDictionary* json1 = [NSJSONSerialization JSONObjectWithData:responseData //1
                                                     options:kNilOptions
                                                       error:&error];


NSArray* latestLoans = [json1 objectForKey:@"Clients"]; //2

NSLog(@"Clients: %@", latestLoans); //3

NSArray *performersArray = [json1 objectForKey:@"Clients"];
for (NSDictionary *performerDic in performersArray) {
    NSLog(@"%@", [performerDic objectForKey:@"Name"]);

    jsonSummary.text = [NSString stringWithFormat:@"The clients under this user are: %@ ",
                         [performerDic objectForKey:@"Name"]];

NSLOG

2013-05-16 13:03:52.820 com.barloworld.atajo[5137:907] Fnurky
2013-05-16 13:03:52.821 com.barloworld.atajo[5137:907] A different client
2013-05-16 13:03:52.821 com.barloworld.atajo[5137:907] Second Community
2013-05-16 13:03:52.822 com.barloworld.atajo[5137:907] Britehouse

ここに画像の説明を入力

4

3 に答える 3

1

これを使って

            NSDictionary* json1 = [NSJSONSerialization JSONObjectWithData:responseData //1
                                                 options:kNilOptions
                                                   error:&error];
            NSArray* latestLoans = [json1 objectForKey:@"Clients"]; //2
            NSArray *performersArray = [json1 objectForKey:@"Clients"];
            NSMutableArray *array=[[NSMutableArray alloc]initWithCapacity:3];
            for (NSDictionary *performerDic in performersArray) {
                [array addObject:[performerDic objectForKey:@"Name"]];
            }
            NSString *output=[array componentsJoinedByString:@","];
            jsonSummary.text = [NSString stringWithFormat:@"The clients under this user are: %@ ",
                                output];
于 2013-05-16T11:16:31.307 に答える
0

あなたはこれを使うことができます..

ループの前に:

NSString *tempString = @"";

ループの中:

tempString = [tempString stringByAppendingFormat:@"%@", [performerDic objectForKey:@"Name"]];

ループ後:

jsonSummary.text = [NSString stringWithFormat:@"The clients under this user are: %@", tempString];
于 2013-05-16T11:14:22.057 に答える