Reputation: 1704
how to create following format without nsmutable string?
{
"appointments" : [
{
"pincode" : null,
"current_status" : "1",
"initial_status" : "1",
"hospital_id" : "12",
"expected_treatment_date" : "18 Nov 2016",
"appt_comments" : null,
"lead_followup_by" : "2",
"speciality_id" : "3",
"lead_followup_datetime" : "2016-11-17 16:23:17",
"email" : null,
"local_id" : 6,
"mobileno" : "536868868868",
"enquiry_created_date" : null,
"id" : "0",
"enquiry_created_by" : null,
"state_id" : null,
"address" : null,
"fullname" : "googhvvjjc",
"lead_created_by" : "166",
"lead_comments" : " H h hh. J",
"appt_datetime" : null,
"city_id" : null,
"other_hospital" : "",
"cash_credit" : "Cash",
"create_plan_mail_sent" : "0",
"interested" : "1",
"lead_created_date" : "2016-11-17 04:23:24",
"appt_created_date" : null,
"appt_created_by" : null
},
{
"pincode" : null,
"current_status" : "1",
"initial_status" : "1",
"hospital_id" : "12",
"expected_treatment_date" : "18 Nov 2016",
"appt_comments" : null,
"lead_followup_by" : "2",
"speciality_id" : "3",
"lead_followup_datetime" : "2016-11-17 16:23:17",
"email" : null,
"local_id" : 6,
"mobileno" : "536868868868",
"enquiry_created_date" : null,
"id" : "0",
"enquiry_created_by" : null,
"state_id" : null,
"address" : null,
"fullname" : "googhvvjjc",
"lead_created_by" : "166",
"lead_comments" : " H h hh. J",
"appt_datetime" : null,
"city_id" : null,
"other_hospital" : "",
"cash_credit" : "Cash",
"create_plan_mail_sent" : "0",
"interested" : "1",
"lead_created_date" : "2016-11-17 04:23:24",
"appt_created_date" : null,
"appt_created_by" : null
}
],
"lead_status" : [
{
}
],
"lead_followups" : [
{
}
]
}
My Code :
dicAppointment = [[NSMutableDictionary alloc]init];
for (int i = 0; i < arrAppointmentData.count; i++)
{
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"rowid"] forKey:@"local_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"id"] forKey:@"id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"Fullname"] forKey:@"fullname"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"email"] forKey:@"email"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"mobileNo"] forKey:@"mobileno"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"date_time"] forKey:@"appt_datetime"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"address"] forKey:@"address"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"cityid"] forKey:@"city_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"stateid"] forKey:@"state_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"pincode"] forKey:@"pincode"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"speciality_id"] forKey:@"speciality_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_comments"] forKey:@"lead_comments"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"appointment_comment"] forKey:@"appt_comments"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"enquiry_created_date"] forKey:@"enquiry_created_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"enquiry_created_by"] forKey:@"enquiry_created_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"intrested"] forKey:@"interested"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_follow_by"] forKey:@"lead_followup_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_follow_datetime"] forKey:@"lead_followup_datetime"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_created_date"] forKey:@"lead_created_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_created_by"] forKey:@"lead_created_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"appointment_created_date"] forKey:@"appt_created_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"appointment_created_by"] forKey:@"appt_created_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"initial_status"] forKey:@"initial_status"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"current_status"] forKey:@"current_status"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"hospital_id"] forKey:@"hospital_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"cashcredit"] forKey:@"cash_credit"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"expectdate"] forKey:@"expected_treatment_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"other_hospital"] forKey:@"other_hospital"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"create_plan_mail_sent"] forKey:@"create_plan_mail_sent"];
}
All three dictionary are same :
now merge the dictionry merge on following dictionary
NSDictionary *d = @{
@"appointments": @[ dicAppointment
],@"lead_followups":@[dicleadStatuss],@"lead_status":@[dicleadStatus]
};
Following code are to covert in json :
NSData *jsonData2 = [NSJSONSerialization dataWithJSONObject:d options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData2 encoding:NSUTF8StringEncoding];
NSLog(@"jsonData as string:\n%@", jsonString);
I have successfully converted format but...I can't pass multiple dictionary.
Thanks
Please help me
Upvotes: 2
Views: 67
Reputation: 11127
Here,
"appointments" : [ {},{} ]
this is array of Dictionaries, so you need to add your NSDictionary to an Array and then need to convert that array into JSON and pass it to your server.
dicAppointment = [[NSMutableDictionary alloc]init];
arrAppointment = [[NSMutableArray alloc]init];
now at the last of your loop you need to add dicAppointment
in arrAppointment
Edit
here you need to pass your array in place of Dictionary
NSDictionary *d = @{ @"appointments":arrAppointment ,@"lead_followups":arrStatus,@"lead_status":arrLeadStatus };
Try this
Edit2
arrAppointment = [[NSMutableArray alloc]init];
for (int i = 0; i < arrAppointmentData.count; i++)
{
dicAppointment = [[NSMutableDictionary alloc]init];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"rowid"] forKey:@"local_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"id"] forKey:@"id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"Fullname"] forKey:@"fullname"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"email"] forKey:@"email"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"mobileNo"] forKey:@"mobileno"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"date_time"] forKey:@"appt_datetime"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"address"] forKey:@"address"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"cityid"] forKey:@"city_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"stateid"] forKey:@"state_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"pincode"] forKey:@"pincode"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"speciality_id"] forKey:@"speciality_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_comments"] forKey:@"lead_comments"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"appointment_comment"] forKey:@"appt_comments"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"enquiry_created_date"] forKey:@"enquiry_created_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"enquiry_created_by"] forKey:@"enquiry_created_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"intrested"] forKey:@"interested"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_follow_by"] forKey:@"lead_followup_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_follow_datetime"] forKey:@"lead_followup_datetime"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_created_date"] forKey:@"lead_created_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"lead_created_by"] forKey:@"lead_created_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"appointment_created_date"] forKey:@"appt_created_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"appointment_created_by"] forKey:@"appt_created_by"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"initial_status"] forKey:@"initial_status"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"current_status"] forKey:@"current_status"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"hospital_id"] forKey:@"hospital_id"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"cashcredit"] forKey:@"cash_credit"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"expectdate"] forKey:@"expected_treatment_date"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"other_hospital"] forKey:@"other_hospital"];
[dicAppointment setValue:[[arrAppointmentData objectAtIndex:i]valueForKey:@"create_plan_mail_sent"] forKey:@"create_plan_mail_sent"];
[arrAppointment addObject: dicAppointment];
}
Upvotes: 2