Json Проходя в iphone - PullRequest
       5

Json Проходя в iphone

0 голосов
/ 20 марта 2012

Я передаю Json String из моего WebService в Мой код, используя NSDictionary

-(void)getData :(NSData*)respo{
NSError *error;
NSMutableDictionary *jons =[NSJSONSerialization JSONObjectWithData:respo options:kNilOptions error:&error];
NSMutableArray *rnameary = [jons  objectForKey:@"posts"];
NSMutableArray *tempary =[[NSMutableArray alloc]init];
for (int i=0;i < [rnameary count];i++) {
    CfResultFatch *rs = [[CfResultFatch alloc] initWithName:[[rnameary objectAtIndex:i]objectForKey:@"BrandName"]
                                                       cipd:[[rnameary objectAtIndex:i] objectForKey:@"Dose"]]; 
   [tempary addObject:rs];                             
}
result = [[NSMutableArray alloc] initWithArray:tempary];
[temptab reloadData];
}

, используя это, я получаю данные из WebServies, такие данные, как

{
    ActiveCrNo = "";
    BPL = 0;
    BloodGroupIDF = 1;
    CRNumber = 0000187;
    CashlessDetail = fgfghgfh;
    CastIDF = 19;
    ClassIDF = 7;
    CloseCrNo = 0;
    CompanyNo = "";
    DateOfBirth =         {
        date = "1987-08-20 00:00:00";
        timezone = "Europe/Berlin";
        "timezone_type" = 3;
    };
    Disability = 0;
    EntryDate =         {
        date = "2011-08-20 16:30:00";
        timezone = "Europe/Berlin";
        "timezone_type" = 3;
    };
    ExpiredDate = "<null>";
    ExtraField1 = 0;
    ExtraField2 = "<null>";
    FName = "Mrs.Shatayu";
    Gender = 0;
    HospitalIDF = 4;
    IncomeGroupIDF = "<null>";
    IsExpired = 0;
    IsNewPatient = 0;
    LName = Sharma;
    MName = Maheshbhai;
    MaritalStatus = 0;
    PAN = "";
    PatientIDP = 202;
    QualificationIDF = "<null>";
    ReligionIDF = "<null>";
    Remarks = "";
    SkillSetIDF = "<null>";
    UIDNumber = "";
}, 

И так около 500 блоков, какодин здесь.Я легко получаю поле, как FNAME, LNAME, в внешнем поле сортировки. Доступ легко, но проблема в получении поля «DateOfBirth». Я пробовал все, но ничего не получалось, если кто-то это знает, тогда предложите мне

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Когда вы запускаете цикл для доступа к значению для различных ключей в этом NSDictionary, снова присвойте objectForKey: DateOfBirth другому NSDictionary. Как:

NSDictionary *dict = [self getData:response];

NSDictionary *dictDateofBirth = [dict objectForKey:@"DateOfBirth"];

Теперь вы можете использовать это как отдельный NSDictionary и получить доступ к дате, если рождение, например:

NSString *dob = [dictDateofBirth objectForKey:@"date"];
1 голос
/ 20 марта 2012

Поле DateOfBirth является просто NSDictionary. Таким образом, вы можете получить его как:

...
NSDictionary *dof = [[rnameary objectAtIndex:i] objectForKey:@"DateOfBirth"];
NSString *date = [dof objectForKey:@"date"];
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...