Разбор простого JSON-массива в Objective C

Я хочу проанализировать простой массив JSON, как:

{
    "ns": [
        [
            "1364987475027",
            "Alert1",
            "001"
        ],
        [
            "1364987475042",
            "Alert2",
            "001"
        ],
        [
            "1364987475058",
            "Alert4",
            "001"
        ]
    ]
}

Чтобы получить массив в простых массивах строк. Я нашел много постов с массивами словаря JSON. Но в этом случае JSON не имеет ключей для значений. Пожалуйста, помогите.

4 ответа

Решение

Ответ: NSJSONSerialization,

NSJSONSerialization class can be used to convert JSON to Foundation objects and Foundation objects to JSON. В вашем случае вы должны использовать -JSONObjectWithData:options:error: из NSJSONSerialization class to retrieve a Foundation object from given JSON data.


Образец кода:

NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSArray *fetchedArr = [json objectForKey:@"ns"];

И описание показывает, что вы ищете

   NSError *error;
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

    NSArray *fetchedArr = [json objectForKey:@"ns"];

    for (NSArray *arr in fetchedArr) {
        [arr description];
    }

NSJSONSerialization метод JSONObjectWithData:options:error может к тому. Вы получите словарь с одним значением для ключа "ns", и это будет массив массивов.

 NSError *error = NULL;
NSData* data = [yourJsonString dataUsingEncoding:NSUTF8StringEncoding];
            NSDictionary* json = [NSJSONSerialization
                                  JSONObjectWithData:data
                                  options:kNilOptions
                                  error:&error];
NSArray *resultArray = [json objectForKey:@"ns"];//resultArray contains array type objects...

Я думаю, что это будет полезно для вас.

Другие вопросы по тегам