NSDate オブジェクトを JSON エンコードしようとすると、この例外が発生します。NSDate は JSON エンコードと互換性がないと思います。しかし、日付をエンコードする必要があります。解決策はありますか?
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'
NSDateをNSStringに変換し、エンコードを試みます。
- (NSString *) changeDateToDateString :(NSDate *) date {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSLocale *locale = [NSLocale currentLocale];
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"hh mm" options:0 locale:locale];
[dateFormatter setDateFormat:dateFormat];
[dateFormatter setLocale:locale];
NSString *dateString = [dateFormatter stringFromDate:date];
return dateString;
}
やってみました ?
updateDate = [NSNumber numberWithFloat:[[NSDate date] timeIntervalSince1970]];
ここで説明されているように:SDKはNSDateオブジェクトをサポートしていません
次の手順に従います。
1. 日付を JSON 形式に変換します。
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init]autorelease];
[formatter setDateFormat:@"Z"];
NSString *updateDate = [NSString stringWithFormat:@"/Date(%.0f000%@)/", [[NSDate date] timeIntervalSince1970],[formatter stringFromDate:[NSDate date]]];
2. いくつかの配列に埋め込み、配列を POST します。
日付をエンコードする前に、日付を文字列に変換する必要があります。どこにでも十分な例があるので、見つけやすいはずです