как сохранить строку в массиве при разборе JSON - PullRequest
1 голос
/ 02 августа 2011

я анализирую URL-адрес json, используя SBJSON, и все работает отлично.проблема в том, что если m проанализировать тег «title» или, в сущности, любой другой тег и сохранить его в массиве с именем story. Я могу получить только последнее значение, содержащее тег, а не весь список значений, хранящихся в массиве с именемистория ниже код ..

- (void)viewDidLoad {
[super viewDidLoad];
jsonurl=[NSURL URLWithString:@"http://www.1040communications.net/sheeba/stepheni/iphone/stephen.json"];
jsonData=[[NSString alloc]initWithContentsOfURL:jsonurl];
jsonArray = [jsonData JSONValue]; 

items = [jsonArray objectForKey:@"items"];
for (NSDictionary *item in items )
{
    story = [NSMutableArray array];
    description1 = [NSMutableArray array];

    [story addObject:[item objectForKey:@"title"]];
    [description1 addObject:[item objectForKey:@"description"]];


}
 NSLog(@"booom:%@",story);}

Ответы [ 2 ]

1 голос
/ 02 августа 2011

story и description1 должны быть объявлены до начала цикла.

1 голос
/ 02 августа 2011

Эта строка должна быть вне цикла for

 story = [NSMutableArray array];

NSMutableArray создается для каждого элемента в вашем словаре, и, следовательно, вы получаете только последнее значение. Так что вам нужно создать словарь, прежде чем вводить в цикл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...