Отказ от ответственности: я новичок в JSON.
У меня есть веб-сайт, который предлагает свои данные в формате JSON, и я нахожусь в процессе создания приложения для iPhone для доступа к этим данным. У меня проблема не в самом приложении, а в синтаксисе для доступа к некоторым данным JSON.
У меня нет проблем с доступом к данным в разделе Post [ ], однако я хочу получить доступ к Attachments > Images > wptouch-new-thumbnail > url.
Я знаю, что вы обычно получаете доступ к данным с точечным синтаксисом, но со всем, что я пробовал, я не смог выбрать что-либо за пределами раздела Post[].
Это довольно просто: я беру то, что получаю с сервера через сообщения, и добавляю их в NSStrings или UIImage в случае изображений для использования в UITableView.
У меня все это работает, но я не могу получить доступ к чему-либо под вложениями. Я пытался сделать другой NSDictionary для вложений, но это не сработало.
Опять же, помните, что я очень новичок в JSON/доступе к данным внутри него.
Любая помощь была бы признательна!
1 ответ
Сделайте NSMutableData
как jsonMutableData
вместо NSMutableString. в соединении dedreceiveresponse
инициализируйте jsonMutableData
затем,
//Json Connection
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[jsonMutableData appendData:partialData];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *jsonData = [[NSString alloc] initWithData:jsonMutableData encoding:NSUTF8StringEncoding];
NSDictionary *filesJSON = [jsonData JSONValue];
NSArray *files = [filesJSON objectForKey:@"posts"];
//further code
Похожие вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].