2013-05-08 2 views
-6

У меня есть JSON, как: -Как retrive объекты JSON в NSString

{  
    author =  { 
      class = "pocketapptest.Author"; 
      dateCreated = "2013-05-08T00:03:46Z"; 
      firstName = Kurt; 
      id = 1; 
      lastName = Vonnegut; 
      lastUpdated = "2013-05-08T00:03:46Z"; 
     }; 
     class = "pocketapptest.Book"; 
     dateCreated = "2013-05-08T00:03:46Z"; 
     id = 1; 
     lastUpdated = "2013-05-08T00:03:46Z"; 
     title = "Slaughterhouse Five"; 
    } 

И я могу получить доступ к dateceated/титул

NSString* title = [jsondata objectForKey:@"title"]; 

но как я могу хранить ПгвЬЫате/LastName и т.д.

+3

Ваш json недействителен –

+3

Кроме того, синтаксический анализ JSON прост и прошен сотни раз на этом сайте. Нам не нужен еще один вопрос о том, как разбирать JSON. – borrrden

+0

вы можете прямо получить доступ к свойству: jsondata [@ "title"], или jsondata [@ "author"] [@ "firstname"] – ltebean

ответ

0

попробовать, как это, вы можете получить значение, как показано ниже

NSString* firstName = [[jsondata objectForKey:@"author"]objectForKey:@"firstName"]; 
+0

спасибо :) это сработало – Sulabh

+0

@Sulabh: добро пожаловать и примите ответ. – Balu

+0

@ Sulabh: для того, чтобы не требовать многого, просто нажмите правую метку. – Balu

0

Я думаю, вы можете просто использовать jsondata objectForKey: дважды. Просто так:

NSString* firstName = [[jsondata objectForKey:@"author"]objectForKey:@"firstName"]; 

Надеется, что это помогает

0

Создать класс с Иварами для хранения данных JSON

@interface MyDetails 

@property(nonatomic, retain) NSString *class, *dateCreated, *firstName,*ID, *lastName, *lastUpdated; 
@end 

@implementation MyDetails 

@synthesize class, dateCreated, firstName, ID, lastName, lastUpdated; 

@end 

Выделяет экземпляр для mydetails

MyDetails *mydetails = [MyDetails alloc]init]; 

mydetails.class = [[jsondata objectForKey:@"author"]objectForKey:@"class"]; 
mydetails.dateCreated = [[jsondata objectForKey:@"author"]objectForKey:@"dateCreated"]; 
mydetails.firstName = [[jsondata objectForKey:@"author"]objectForKey:@"firstName"]; 
mydetails.ID = [[jsondata objectForKey:@"author"]objectForKey:@"id"]; 
mydetails.lastName = [[jsondata objectForKey:@"author"]objectForKey:@"lastName"]; 
mydetails.lastUpdated = [[jsondata objectForKey:@"author"]objectForKey:@"lastUpdated"]; 
+0

hey popeye, Этот подход кажется хорошим. , поэтому у меня есть 10 массивов JSON, я могу их сохранить и получить к нему, если как – Sulabh

+0

NSMutableArray * myDetailsArray = [NSMutableArray alloc] init]; for() { – jailani

+0

Создайте mutablearray для размещения MyDetails для каждого объекта в jsonarray, заполните myDetail и добавьте в изменяемый массив, а затем перейдите в myDetail .... Сделайте это для цикла – jailani

0

Вашего JSON является инвалид. Сначала используйте действительный JSON. Вы можете проверить, является ли ваш JSON действительным или нет. here

затем получить доступ к строковым объектам из json.

Надеюсь, это поможет вам.

+0

почему это недействительно? – Sulabh

+0

проверить ваш json в любом инструменте проверки JSON –

Смежные вопросы