Нужна помощь в использовании json-framework на iPhone - PullRequest
2 голосов
/ 18 июля 2010

Итак, у меня запущен и работает json-framework для моего проекта, но мне нужна помощь, чтобы выяснить, как использовать его для разбора этой строки json:

[
    {
    "id":"0",
    "name":"name",
    "info":"This is info",
    "tags":
        [ 
            {
            "id":"36", 
            "tag":"test tag"
            },
            { 
            "id":"37",
            "tag":" tag 2"
            } 
        ],
    "other":"nil"
    },
    { 
    "id":"1",
    "name":"name",
    "info":"This is info",
    "tags":
        [ 
            { 
            "id":"36",
            "tag":"test tag" 
            },
            {
            "id":"37",
            "tag":" tag 2"
            } 
        ], 
    "other":"nil"
} 

]

Любая помощь и, возможно, пример кода о том, как поступить с этим конкретным типом json, будут великолепны. Каким-то образом я не могу получить это в словаре, из которого я могу прочитать. Большое спасибо.

1 Ответ

7 голосов
/ 18 июля 2010

Причина, по которой вы не можете получить эту строку в словаре, заключается в том, что это не словарь , это массив словарей

Вы можетеполучить значения в объект Objective-C, сохранив его в NSArray:

NSArray *objects = (NSArray*) [jsonString JSONValue];

Затем вы можете перебрать те объекты, которые находятся в массиве:

for(NSDictionary *dict in objects) {
    NSString *id = (NSString *) [dict objectForKey:@"id"];
    NSString *name = (NSString *) [dict objectForKey:@"name"];
    NSArray *tags = (NSArray *) [dict objectForKey: @"tags"];
    //loop over tags here...
    for(NSDictionary *tag in tags) {
        NSString *tag_id = (NSString *) [tag objectForKey:@"id"];
        NSString *tag_name = (NSString *) [tag objectForKey:@"tag"];
    }
    //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...