в моем проекте Я использую разбор JSON для отображения данных для этого я создал 2 Словарь NSDictionary 1 ответ возврата ответа, но когда я его вызываю во втором словаре, он возвращает значение Null. я делюсь мой код, пожалуйста, помогите мне исправить этоIOS: Словарь Возвращаемое значение null/Данные
-(void)hdata
{
NSString *post = [NSString stringWithFormat:@"data[Users][ref_id]=%@&api_key=bf45c093e542f057c123ae7d6",refidstr];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://192.168.0.20/hspCh/api/user_diagnose_list"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
[request setHTTPBody:postData];
NSString *str=[[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"str : %@",str);
NSDictionary *dict6 = [self cleanJsonToObject:responseData];
NSLog(@"str : %@",dict6); <=======it gives correct responce
diagnosisdict = [dict6 objectForKey:@"data[Users][ref_id]"];
[diagnosisdict setValue:refidstr forKey:@"data[Users][ref_id]"];
NSLog(@" for ref id =%@ , data is= %@",refidstr, diagnosisdict); <======Gives null responce
}
Вывод выше в консоли следующим образом
2015-12-09 10:34:16.935 HcH[2841:32315] str : {"response":200,"diagnoses":[{"DiagnosesHospitals":{"hospital_id":"3341","id":"163075","discharges":"100.00","charge_amt":"1200.00","total_amt":"1500.00","medicare_amt":"1200.00"},"Diagnoses":{"diagnosis_name":"TRANSIENT ISCHEMIA"}}]}
2015-12-09 10:34:16.935 HcH[2841:32315] str : {
diagnoses = (
{
Diagnoses = {
"diagnosis_name" = "TRANSIENT ISCHEMIA";
};
DiagnosesHospitals = {
"charge_amt" = "1200.00";
discharges = "100.00";
"hospital_id" = 3341;
id = 163075;
"medicare_amt" = "1200.00";
"total_amt" = "1500.00";
};
}
);
response = 200;
}
2015-12-09 10:34:16.936 HcH[2841:32315] for ref id =3341 , data is= (null)
ли вы инициализировать Ваш diagnosisdict? И почему вы установили ключ для этого dic: «data [Users] [ref_id]». Это строка, а не значение. –
Похоже, что dictdict не инициализирован. Это даже не объект печати и местоположение памяти. В зависимости от JSON нет данных [Пользователи] [ref_id]. Попросите пользователя [link] (http://www.jsoneditoronline.org/) проанализировать объекты JSON. – Savitha
@ Данные CongTran [Пользователи] [ref_id] - это параметр запроса, с помощью которого я возвращаю ответ API –