2014-01-30 5 views
1
reponsedata = [[NSMutableData alloc]init]; 
    NSString *loc = [NSString stringWithFormat:@"http://advantixcrm.com/prj/mitech/index.php/api/appconfig/Mg"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:loc]]; 
    [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

    if (reponsedata) 
    { 

     NSDictionary *Dictionarydetails = [NSJSONSerialization 
              JSONObjectWithData:reponsedata 
              options:kNilOptions 
              error:nil]; 
     NSLog(@"The return data is: %@",Dictionarydetails); 

     NSMutableDictionary *tempdict = [Dictionarydetails valueForKey:@"AppConfig"]; 
     array=[tempdict valueForKey:@"RestInfo"]; 

     NSLog(@"the result are %@",array); 
     NSLog(@"the result count is are %d",[array count]); 


     NSDictionary *classDict = [[NSDictionary alloc]init]; 

     for (int i=0; i<[array count]; i++) { 
      //arr = [Class_location objectForKey:@"class_image"]; 
      classDict =[array objectAtIndex:i]; 
      // NSLog(@"the dict Values are are: %@",classDict); 
      NSMutableArray *dict1 =[[NSMutableArray alloc]init]; 
      dict1 =[classDict valueForKey:@"RestInfo"]; 
      NSLog(@"the result :%@",dict1); 

      lb1.text =[classDict valueForKey:@"restaurant_location"]; 
      lbl2.text = [classDict valueForKey:@"restaurant_name"]; 
      lbl3.text = [classDict valueForKey:@"contact_name"]; 

     } 
    } 
} 

проблема была, я не могу получить эти значения, чтобы маркировать хорошо я получил мой ответ от сервераданные Анализировать JSON маркировать

+1

разместить свои данные – codercat

+0

ответа может у поста, что в ваших dict1 и classDict –

+0

Пожалуйста, оставьте свои данные ответа и требуемое значение – iEinstein

ответ

4
//your answer for the script this code check the ans in console, i am waiting for your response 


- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://advantixcrm.com/prj/mitech/index.php/api/appconfig/Mg"]]; 

[request setHTTPMethod:@"GET"]; 

[request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"content-type"]; 

NSError *err; 
NSURLResponse *response; 
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err]; 

NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:responseData options: NSJSONReadingMutableContainers error: &err]; 

NSArray *array=[jsonArray objectForKey:@"RestInfo"]; 

for (int i=0; i<[array count]; i++) { 
    NSLog(@"the restrunt==%@",[[array objectAtIndex:i]objectForKey:@"restaurant_location"]); 
    NSLog(@"the resname==%@",[[array objectAtIndex:i]objectForKey:@"restaurant_name"]); 
    NSLog(@"the resname==%@",[[array objectAtIndex:i]objectForKey:@"contact_name"]); 

} 

} 

Swift

override func viewDidLoad() { 
super.viewDidLoad() 
var request: NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: "http://advantixcrm.com/prj/mitech/index.php/api/appconfig/Mg")!) 
request.HTTPMethod = "GET" 
request.setValue("application/json;charset=UTF-8", forHTTPHeaderField: "content-type") 
NSError * err 
NSURLResponse * response 
var responseData: NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: response!, error: err!) 
var jsonArray: [NSObject : AnyObject] = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingMutableContainers, error: err!) 
var array: [AnyObject] = (jsonArray["RestInfo"] as! [AnyObject]) 
for var i = 0; i < array.count; i++ { 
    NSLog("the restrunt==%@", (array[i]["restaurant_location"] as! String)) 
    NSLog("the resname==%@", (array[i]["restaurant_name"] as! String)) 
    NSLog("the resname==%@", (array[i]["contact_name"] as! String)) 
} 
} 
+0

у вас попробовать выше кодирование, его wok fine для u –

+0

спасибо брату, я разработал для u –

+0

теперь, как я могу привести его в табличный вид – user3251949

0
NSArray *arrayDetails = [NSJSONSerialization 
            JSONObjectWithData:reponsedata 
            options:kNilOptions 
            error:nil]; 
    for(NSDictionary* dict in arrayDetails) { 
    lb1.text = dict[@"RestInfo"][@"restaurant_location"]; 
    lbl2.text = dict[@"RestInfo"][@"restaurant_name"]; 
    lbl3.text = dict[@"RestInfo"][@"contact_name"]; 
    } 

Это будет делать все необходимое, я думаю

+0

http://travel.cnn.com/mumbai/life/10-indianisms-652344 – spex

0

If вы посмотрите на ваш ответ JSon внимательно, вы увидите следующую структуру,

enter image description here

словарь -> RestInfo Массив -> Обязательный словарь

Таким образом, ваш код анализатор должен быть ниже,

NSDictionary *rootDictionary = [NSJSONSerialization JSONObjectWithData:reponsedata 
                options:kNilOptions 
                error:nil]; 

NSArray *restInfoArray = [rootDictionary valueForKey:@"RestInfo"]; 
for (NSDictionary *dict in rootDictionary) { 
    lbl1.text = [dict valueForKey:@"restaurant_name"]; 
    lbl2.text = [dict valueForKey:@"restaurant_location"]; 
    lbl3.text = [dict valueForKey:@"contact_name"]; 
} 

Пожалуйста, обратите внимание, что в случае RestInfo массив возвращает несколько словарей, то lbl1, lbl2 и lbl3 отобразит текст для последних ключей словаря. Для обработки такого сценария необходим соответствующий пользовательский интерфейс.

Надеюсь, что это поможет!

1

Использование Это:

NSError *err= nil; 
NSArray* arrayDetails= [NSJSONSerialization 
            JSONObjectWithData:reponsedata 
            options:kNilOptions 
            error:&err]; 
[arrayDetails enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){ 
    if([obj objectForKey:@"event_date"] isEqualTo:@"myDate") 
    { 
     lb1.text =[obj objectForKey:@"restaurant_location"]; 
      lbl2.text = [obj objectForKey:@"restaurant_name"]; 
      lbl3.text = [obj objectForKey:@"contact_name"]; 
    } 

}]; 
Смежные вопросы