-1

NSDictionary を JSON データ オブジェクトに変換するにはどうすればよいですか? JSON データをサーバーに送信したい。以下のコードを使用していますが、配列またはさらに NSDictionary を含む NSDictionary に関しては問題に直面しています。これは、単純なキーと値のペアでうまく機能します。

問題: 以下の行で失敗し、エラー オブジェクトが設定されます。ソース myData ディクショナリから配列とディクショナリを削除すると、これは正常に機能します。

NSData *aPostBodyData = [NSJSONSerialization dataWithJSONObject:myData options:0 error:&error];

Where myData looks like:

{
    URI = "www.google.com";
    addOnTestString = "4,3,";
    status =     (
            "In Progress",
            Submitted,
            Delivered
        );
data = 

{
    URI = "www.test.com";
    testString = "43";
    status =     (
            "In Progress",
            Submitted,
            Delivered
        );
}
}

エラー トレース:

ここに画像の説明を入力

4

1 に答える 1

1

あなたの状況を含むサンプルコードを書くだけで、うまくいきます。

  NSArray * myarray=@[@"a",@"b"];

        NSMutableDictionary * dict=[[NSMutableDictionary alloc] initWithObjects:@[@"a",myarray] forKeys:@[@"str",@"arr" ]];




        NSData * js=[NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];


        NSString * jsString=[[NSString alloc] initWithData:js encoding:NSUTF8StringEncoding];


        NSLog(@"%@",jsString);

エラーが発生する理由として考えられるのは、次のとおりです。

myData は NSDictionary または NSArray 型ではありません。

または、辞書に配列を追加しているときに、ポイントがありません。

于 2013-03-20T19:05:01.767 に答える