Разбор простого 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...
Я думаю, что это будет полезно для вас.