1

NSString に JSON 値があります。NSString JSonValue から値を解析しようとしています。

次のような NSString 値:

result =  [{"no":"01","send":"2010-05-03 01:26:48","from":"0000000000","to":"1111111111","text":"abcd"}]

以下のコードを試して、no、send、from、to、text の値を解析しました。

    NSString *jsonString = result;
    NSDictionary *jsonArray = [jsonString jsonValue]; //Am trying to save the values from NSString to NSDictionary the app getting crash here.
    NSLog(@"JsonDic : %@", jsonArray);

NSString から JSON 値を解析するのを手伝ってくれる人はいますか? 前もって感謝します。

4

3 に答える 3

1

iOS5 の場合、NSJSONSerializationを使用できます。

NSError *error;
NSString *json = @"[{\"no\":\"01\",\"send\":\"2010-05-03 01:26:48\",\"from\":\"0000000000\",\"to\":\"1111111111\",\"text\":\"abcd\"}]";
id jsonObj = [NSJSONSerialization JSONObjectWithData:[json dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments error:&error];

また、 SBJsonも使用できます。

于 2012-07-04T10:42:01.657 に答える
0

ゴピナス。私はコードについて言及しましたが、これを試してください。私はテストしました。

SBJSON *parser = [[SBJSON alloc] init];  

NSDictionary *jsonArray = (NSDictionary *) [parser objectWithString:result error:nil];  
NSLog(@"jsonArray : %@", jsonArray);

NSArray *depositArray = [jsonArray valueForKey:@"no"];
NSLog(@"depositArray : %@", depositArray);

テストして、問題が発生した場合はお知らせください。ありがとう。

于 2012-07-04T10:41:53.697 に答える
0

JSON の解析はもう少し複雑です。

私は SBJSON を使用しています。ここからダウンロードできます: http://stig.github.com/json-framework/

これは、プロジェクトに配置する単純なファイルのセットです。専用のグループに入れることをお勧めします。

それが完了したら、使用できるコードを次に示します。

NSError *jsonError;
NSDictionary *jsonResults;

SBJsonParser* parser = [[SBJsonParser alloc]init];
jsonResults = [parser objectWithString:YOURSTRING error:&jsonError ];

if (jsonResults == nil) {
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:@"Something bad happened with JSON : %@ : %@",YOURSTRING,[ jsonError localizedDescription ]] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
} else {   
   NSLog(@"JSON result : %@",jsonResults);

}

さらに詳しい情報が必要な場合は、SBJSon に関する優れたチュートリアルを見つけることができます

于 2012-07-04T10:43:35.140 に答える