2012-01-23 53 views
6

私はNSDataオブジェクトを持っています。私はそれをNSDictionaryオブジェクトに変換する必要があります。NSDataをJSONに変換する

NSData *data = ....; 

今、私はプログラム的にこれを行うことができますどのように、NSDictionaryにこれを変換する必要がありますか?

注:は、NSDictionarykey valueのペアにアクセスできるはずです。

私はこれまでのところ、私の働きを実証するためのコードを持っていない、私はNSDataオブジェクトを作成し、そして継続するか見当もつかない:)

+3

そして、どのような形式は、 'でdata'のですか?標準的なシリアライズフォーマットのものでない限り、それが辞書に変換するロジックを必要とします。 –

+0

変換したいJSONデータですか? –

+0

はい、JSONデータです。誰かが私にサンプルコードまたは変換を示すチュートリアルを表示できます – Illep

答えて

3

あなたはMKNetworkOperationをサブクラス化し、次でresponseJSONメソッドをオーバーライドすることができます。

-(id) responseJSON 
{ 
    NSString *rawJSON; 
    id jsonValue = nil; 
    if ((rawJSON = [[NSString alloc] initWithData:[self responseData] encoding:NSUTF8StringEncoding]) != nil) { 
     SBJsonParser *jsonParser = [[SBJsonParser alloc] init]; 
     if ((jsonValue = [jsonParser objectWithString:rawJSON]) == nil) { 
      NSLog(@"This string doesn't seem to be JSON: '%@'\nraw Data : '%s'", rawJSON, (char *)[[self responseData] bytes]); 
      return [self responseString]; 
     } 
    } 
    else { 
     NSLog(@"This data doesn't seem to be an UTF8 encoded string: %@", [self responseData]); 
     return [self responseString]; 
    } 

    return jsonValue; 
} 
3

スタックオーバーフローのこのリンクを確認してください、私はすでに消費されていますJSONサービス、それはあなたの多くを助けるでしょう。すべてのコーディングはそこにあります。

JSON Data Conversion

そしてここで、サンプルプロジェクト

JSON Parse Tutorial

とチュートリアルですあなたは私が非常にSBJSON frameworkを呼び出すことをお勧めします、それが参考に

+0

私はMKNetworkKitを使用しています。 – Illep

+2

私はそれを使用していません、私はiOSのネイティブメソッドとフレームワークを使いたい、それを試してみてください。NSJSONSerializationよりシリアル化とデシリアライズが簡単になります –

1

見つけることを願って、それは、何回ものために私の時間を保存正確に私の仕事を終え、使いやすくなりました。変換アルゴリズムの詳細を知る必要はなく、ダウンロードして呼び出すだけです。

hereからダウンロードしてから、this tutorialに従ってください。

+0

まあ、私はMKNetworkKitを使用しています。そして私は一種の迷子です – Illep

+0

申し訳ありませんが、私はまだMKNetworkKitを使用していません。私はJSONパーサーが必要な時にSBJSONを初めて見つけたことは幸いです。 SBJSONを使うことをお勧めします。あるいはMKNetworkKitに関する特定の問題を尋ねるためにあなたの質問を変更したいかもしれません。私が助けてくれることを願って。 – Skyler

関連する問題