遍历从webservice,服务器上面的json文件中数据
---解析json字符串---:
-(void)parseJsonKit:(@H_404_20@Nsstring *)jsonString
{
@H_404_20@NSArray *array=[jsonStringobjectFromJSONString];
NSLog(@"yunPanCounts=%d",[arraycount]);
//云端联系人的数量
self.yunpanCounts.@H_404_20@text =[@H_404_20@NsstringstringWithFormat:@"%u",[arraycount]];
for (int i =0; i< array.@H_404_20@count; i++) {
@H_404_20@NSDictionary* temp = [arrayobjectAtIndex:i];
@H_404_20@Nsstring *firtname = [tempobjectForKey:@"firstname"];
@H_404_20@Nsstring *lastname = [tempobjectForKey:@"lastname"];
@H_404_20@Nsstring *middleName = [tempobjectForKey:@"middleName"];
@H_404_20@Nsstring *prefix = [tempobjectForKey:@"prefix"];
@H_404_20@Nsstring *suffix = [tempobjectForKey:@"suffix"];
@H_404_20@Nsstring *firstnamePhonetic = [tempobjectForKey:@"firstnamePhonetic"];
@H_404_20@Nsstring *lastnamePhonetic = [tempobjectForKey:@"lastnamePhonetic"];
@H_404_20@Nsstring *organization = [tempobjectForKey:@"organization"];
@H_404_20@Nsstring *jobtitle = [tempobjectForKey:@"jobtitle"];
@H_404_20@Nsstring *department = [tempobjectForKey:@"department"];
@H_404_20@Nsstring *note = [tempobjectForKey:@"note"];
@H_404_20@Nsstring *birthday = [tempobjectForKey:@"birthday"];
@H_404_20@Nsstring *firstKNow = [tempobjectForKey:@"firstKNow"];
@H_404_20@Nsstring *lastKNow = [tempobjectForKey:@"lastKNow"];
//add to contact
@H_404_20@ABAddressBookRef iphoneAddressBook =ABAddressBookCreate();
@H_404_20@ABRecordRef newPerson =ABPersonCreate();
@H_404_20@CFErrorRef error =NULL;
ABRecordSetValue(newPerson,@H_404_20@kABPersonFirstNameProperty,firtname,&error);
ABRecordSetValue(newPerson,@H_404_20@kABPersonLastNameProperty,lastname,@H_404_20@kABPersonMiddleNameProperty,middleName,@H_404_20@kABPersonPrefixProperty,prefix,@H_404_20@kABPersonSuffixProperty,suffix,@H_404_20@kABPersonFirstNamePhoneticProperty,firstnamePhonetic,@H_404_20@kABPersonLastNamePhoneticProperty,lastnamePhonetic,@H_404_20@kABPersonorganizationProperty,organization,@H_404_20@kABPersonJobTitleProperty,jobtitle,@H_404_20@kABPersonDepartmentProperty,department,@H_404_20@kABPersonNoteProperty,note,@H_404_20@kABPersonBirthdayProperty,birthday,&error);
ABRecordSetValue(newPerson,@H_404_20@kABPersonCreationDateProperty,firstKNow,@H_404_20@kABPersonModificationDateProperty,lastKNow,&error);
///////////////////特别值的注意的是多值字段的遍历///////////////////////////////
//用于存放具有多个值的项
@H_404_20@ABMutableMultiValueRef multi =ABMultiValueCreateMutable(kABMultiStringPropertyType);
//得到多值字段[电话号码]的集合
@H_404_20@NSMutableDictionary *phoneDict = [tempobjectForKey:@"phone"];
NSLog(@"%@",phoneDict);
for (id keyin phoneDict)
{
if ([keyisEqualToString:@"home"]) {
ABMultiValueAddValueAndLabel(multi,[phoneDict objectForKey:key],@H_404_20@kABPersonHomePageLabel,NULL);
}
if ([keyisEqualToString:@"main"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhoneMainLabel,NULL);
}
if ([keyisEqualToString:@"work fax"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhoneWorkFAXLabel,NULL);
}
//other
if ([keyisEqualToString:@"mobile"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhoneMobileLabel,NULL);
}
if ([keyisEqualToString:@"home fax"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhoneHomeFAXLabel,NULL);
}
if ([keyisEqualToString:@"other fax"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhoneOtherFAXLabel,NULL);
}
if ([keyisEqualToString:@"pager"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhonePagerLabel,NULL);
}
if ([keyisEqualToString:@"iPhone"]) {
ABMultiValueAddValueAndLabel(multi,@H_404_20@kABPersonPhoneIPhoneLabel,NULL);
}
ABRecordSetValue(newPerson,@H_404_20@kABPersonPhoneProperty,multi,&error);
}
//清空该变量用于存放下一个多值的项
multi = nil;
////////////////////////////////////////////////////////////////////////////////
ABAddressBookAddRecord(iphoneAddressBook,newPerson,&error);
ABAddressBookSave(iphoneAddressBook,&error);
if (error!=NULL) {
NSLog(@"Danger will Robinson! Danger!!!");
}
CFRelease(newPerson);
CFRelease(iphoneAddressBook);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。