私は文字列にシリアル化する必要があるjsonapiオブジェクトを持っています。空のjsonapiオブジェクトをシリアル化するには
{\n \"data\" : [\n\n ]\n}
が、これはこれは私が文字列にJSONオブジェクトを変換するために使用していたコードである
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** +[NSJSONSerialization dataWithJSONObject:options:error:]:
Invalid top-level type in JSON write'
エラーが発生します。
NSError * error;
NSData * jData = [NSJSONSerialization dataWithJSONObject:[notification.userInfo objectForKey:@"data"]
options:NSJSONWritingPrettyPrinted error:&error];
NSString *jString = [[NSString alloc] initWithData:jData encoding:NSUTF8StringEncoding];
は、誰かがこれで私を助けることを願って(\と\ nを手動で削除する必要はありません)
ここで何か、誰かが非常に、非常に混乱しています。あなたが表示したのは、JSONドキュメントが文字列に変換され、JSONドキュメントが単一のキー "data"を持つ辞書と、空の配列である単一の値です。私はあなたが実際にやろうとしていることは少しも考えていません。 – gnasher729
json辞書が実際に値を保持しているときは問題ありません。配列を削除して送信すると、これが起こります。 icアノテーションで解決すれば、空のオブジェクトの値を渡す別のメソッドを呼び出さなければなりません。 – s5v