NSDictionary *dict = @{ @"creditCardId" : self.creditCardId,
@"receiptDescription" : self.receiptDescription,
@"currency" : self.currency,
@"chargeAmount" : self.chargeAmount,
@"recipientFacebookAccount" : self.recipientFacebookAccount,
@"recipientName" : self.recipientName,
@"recipientMobilePhoneNumber" : self.recipientPhoneNumber,
@"sendByFacebook" : [self.sendByFacebook boolValue] == YES ? @"true" : @"false",
@"sendBySMS" : [self.sendBySms boolValue] == YES ? @"true" : @"false",
@"message" : self.message,
@"recipientFacebookImageUrl" : self.recipientFacebookImageUrl,
@"recipientFacebookUserId" : self.recipientFacebookUserId,
@"senderFacebookImageUrl" : self.senderFacebookImageUrl };
NSDictionary *wrapperDict = @{ @"type" : self.messageName,
@"deviceId" : [DSSettings sharedSettings].deviceId,
@"payload" : [dict JSONString] };
[dict JSONString]返回null。相同类型的对话在其他情况下效果很好。
答案 0 :(得分:0)
检查您的字典声明中没有nil值,来自关于Objective c literals的Apple文档:
密钥和值都不能在容器中具有值nil。如果 编译器可以证明在编译时键或值是nil,然后是a 将发出警告。否则,将发生运行时错误。
答案 1 :(得分:0)
1)由于JSONString是第三方类别,因此请确保它已实际安装。
2)NSLog在创建后保存你的字典,并确保它是正确的。
3)使用NSJSONSerialization,指定有效的error
参数,然后,如果调用返回nil,请记录error
参数以找出具体的错误。