2014-06-07 90 views
0
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。在其他情況下,相同類型的會話效果很好。NSDictonary to JSONString returns null

回答

0

1)由於JSONString是第三方類別,請確保它是實際安裝的。 2)在創建後記錄你的字典並確保它是正確的。

3)使用NSJSONSerialization,指定一個有效的error參數,然後,如果調用返回nil,請記錄error參數以明確具體發生了什麼問題。

+0

是[dict JSONString]返回(null)但是我檢查了三次NSDictonary日誌,沒有參數具有空值。我想知道,因爲三天前一切都很完美。有沒有其他簡單的方法將數據轉換爲JSO格式? – virengujariya

+0

所以,嘗試#3。即使你出於某種原因與JSONString結婚,你仍然可以使用NSJSONSerialization進行調試。 –

+0

另外,將'[dict JSONString]'調用放到一個單獨的語句中,您可以輕鬆檢查結果。按照您擁有的方式進行操作並沒有提高效率。 –

0

檢查你沒有零值,在你的字典聲明中,約Objective C的字面蘋果文檔:

鍵和值都不可以在容器中的值爲零。如果 編譯器可以在編譯時證明某個鍵或值爲零,則會發出一個 警告。否則,會發生運行時錯誤。

+0

是[dict JSONString]返回(null)但是我檢查了三次NSDictonary日誌,沒有參數有空值。我想知道,因爲三天前一切都很完美。有沒有其他簡單的方法將數據轉換爲JSO格式? – virengujariya

+0

您不能將nil值放入字典或數組中以開始。 –

+0

我不會把零值。我檢查了日誌。每個參數都有值。 – virengujariya