Получить данные JSON как NSString не целое число? - PullRequest
0 голосов
/ 07 декабря 2011

Код ниже работает, только если мои данные JSON представляют собой последовательность целых чисел, например [11,12,13]. Как я могу получить его, чтобы получить вместо него сообщение / фразу?

- (IBAction)checkmessages:(id)sender
{
        responseData = [[NSMutableData data] retain];       
        NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"file:///Users/Alex/Desktop/Test.json"]];
        [[NSURLConnection alloc] initWithRequest:request delegate:self];
    }
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {      
    [connection release];

    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    [responseData release];

    NSError *error;
    SBJSON *json = [[SBJSON new] autorelease];
    NSArray *luckyNumbers = [json objectWithString:responseString error:&error];
    [responseString release];   

    if (luckyNumbers == nil)
        label.text = [NSString stringWithFormat:@"JSON parsing failed: %@", [error localizedDescription]];
    else {      
        NSMutableString *text = [NSMutableString stringWithString:@"Latest Message:\n"];

        for (int i = 0; i < [luckyNumbers count]; i++) 
            [text appendFormat:@"%@\n", [luckyNumbers objectAtIndex:i]];

        label.text =  text;
    }
}

EDIT: Когда мой JSON-файл выглядит следующим образом: [10,11,12], он работает нормально, но если я изменяю его на: [Сообщение 1, Сообщение 2], я получаю ошибку: «JSON Parsing Failed: Ожидаемое значение при разборе массива»

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Ваш JSON выглядит неправильно,

 [Message 1,Message 2]

должно быть

 ["Message 1", "Message 2"]
0 голосов
/ 07 декабря 2011

«Строки» в JSON должны быть заключены в кавычки ("").

...