2011-12-06 11 views
0

以下のコードは、JSONデータが一連の整数である場合にのみ機能します。 [11,12,13]。代わりにメッセージ/フレーズを取得するにはどうすればよいですか?JSONデータをNSStringとして取得しないでください。

- (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の解析に失敗しました:配列を解析する際の期待値 "

+0

あなたはどのような問題が発生していることでしょうか? JSONデータが文字列として返された場合、どのように失敗しますか? –

+0

私のJSONファイルが[10,11,12]のように見える場合は正常に動作しますが、[メッセージ1、メッセージ2]に変更するとエラーが表示されます: "JSONの解析に失敗しました: " – iMinichrispy

+0

引用符もありません。つまり、[" message 1 "、" message 2 "] – Mic

答えて

1

あなたのJSONが不正に見える、

[Message 1,Message 2] 

["Message 1", "Message 2"] 
0

JSONの"文字列 "は引用符("")で囲む必要があります。

関連する問題