2 abcdefgh xyz abcdeFGh_xyz 于 2013.01.16 11:01 提问

得到异常:NSInvalidArgumentException

得到异常:NSInvalidArgumentException,这是在我json编码NSDate对象时出现的,我觉得是NSDate不兼容JSON编码,但是必须编码这个日期,不知道怎么办?

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'

1个回答

langyufei
langyufei   2013.01.16 13:57
已采纳

JSON只支持一些特定的object, 基本上就是字符串跟数字.
NSDate当然不行,但是你可以用一串字符表示一个Date啊, 或者用数字表示Date.

NSDate *theDate = [NSDate date];
NSString *dateString = [NSString stringWithFormat:@"%f", [theDate timeIntervalSince1970]];
NSNumber *dateNumber = [NSNumber numberWithDouble:[theDate timeIntervalSince1970]];

这样,NSString and NSNumber 都是合法的可以转换成JSON data的.

abcdeFGh_xyz
abcdeFGh_xyz 谢谢您的解答!
5 年多之前 回复
suannai0314
suannai0314 回答下边有一个编辑链接,可以用那个重新编辑自己的回答~~
5 年多之前 回复
langyufei
langyufei 另外,方法+ (BOOL)isValidJSONObject:(id)obj会告诉你某个object是不是合法的JSON object.
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
NSException方法调用
异常调用方法如下: //######### Method1 ######### [NSException raise:NSInvalidArgumentException format:@"Last name must be Smith"]; 该方法抛出异常会导致程序的崩溃。 //######### Method2 #########
异常:'NSInvalidArgumentException'
今天ios程序运行报错:Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[ViewController1 aries:]: unrecognized selector sent to instance 0x1756f5f0’。一开始以为是自己的协议写错了,后面发现原来是给控件的点击事件
使用NSJSONSerialization的注意事项,NSInvalidArgumentException异常
今天偶然间发现程序每次都报 *** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘data parameter is nil’*** 的错误。似乎是NSData的问题,用排除法分析了一下,原来是NSJSONSerialization使用没注意。我的程序会在每次启动的时候通
解决NSInvalidArgumentException', reason: '-[NSNull]
解决NSInvalidArgumentException', reason: '-[NSNull] bug的方法。
iOS异常 'NSInvalidArgumentException'
在做帧动画demo时遇到以下异常 Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘* -[__NSArrayM insertObject:atIndex:]: object cannot be nil’ 异常代码- (NSArray*)loadAllImagesWithi
iOS Crash之NSInvalidArgumentException
非法参数异常(NSInvalidArgumentException)是 Objective -C 代码最常出现的错误,所以平时在写代码的时候,需要多加注意,加强对参数的检查,避免传入非法参数导致异常,其中尤以nil参数为甚。
OC的异常机制
Objective-C 的异常机制通常只作为一种程序调试,捕捉机制。  我们先来测试下OC的异常机制。示例程序:  FKEatable.h #import // 定义协议 @protocol FKEatable @optional - (void) taste; @end12345671234567 FKApple.h #import #import "FKEatable.h"
IOS开发的报错(异常)信
ios的一些报错信息或者异常出来,感觉不太清晰,没有java语音的更方便,这里记录一些自己遇到的常见的异常 1:uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]’ 数组越界 2:野指针错误形式在Xcode
在xcode 6.1 中使用shareSDK 或者原生的sinaSDK 运行程序崩溃-reason: '-[__NSDictionaryM weibosdk_WBSDKJSONString]
遇到的问题 根据新浪微博 SDK 附带的文档接入项目后,在模拟器运行项目,在调用注册方法时发生崩溃。注册方法代码: 1 [WeiboSDK registerApp: @"xxxxxxxx"]; 崩溃信息打印如下: 1 *** Terminating app due to un
'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to i
iOS 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to i 导致这个错误的原因在与,我想将jason传过来的NSArray,作为NSDictionary来操作,所以导致iOS不认。