2011-08-19 25 views
3

我得到一個JSON響應,包含一個空鍵( 「」):如何將具有空鍵的JSON解析爲NSDictionary?

{ 
    "errors": { 
     "": [ 
      "Wrong email and password combination" 
     ] 
    } 
} 

可以這樣使用JSON JSONKit正確解析到的NSDictionary?

+0

它可能會將它解析爲一個零長度的NSString,它的功能等同於@「」。但是,由於JSONKit相當小且開放源代碼,只需看一下實現並查看它的實際功能。如果它不是return @「」,那麼它會被擊暈 –

回答

2

如果它是數據部分,並且您使用的是TouchJSON,則它通常會被解釋爲空,並設置爲字典中的NSNull對象而不是NSString。 (你可以比較[NSNull null])。

不知道有JSONKit或者它是否是一個關鍵,而不是一個值將對此做出任何區別會發生什麼(我假設沒有,但如果其解釋爲NSNull鍵,有多個null鍵,這將我假設創建一些問題)。

編輯:傑森是正確的,他的評論如下。 NSNull僅在對象上存在空值時設置 - 空字符串在字典中設置爲空字符串。如果密鑰值是空字符串,則詞典具有的鍵的對象@「」(並因此它可以被檢索
[myDictionary objectForKey:@「」];

注意,這是所有在TouchJSON

+0

這將是無效的JSON解析...如果一個值是一對雙引號,裏面什麼也沒有,它是一個空字符串,唯一的JSON值應該是被轉換爲NSNull實例將是沒有的文字字符串'null'引號。 –

+0

你可能是正確的,它是無效的JSON解析,但我似乎記得這是touchJSON的行爲,當一個值有一個空字符串 - 也許我的記憶在這方面也是不正確的,我將不得不再次嘗試當我得到個機會。 – gamozzii

0

是的,爲什麼不呢?該鍵可能是空字符串,@""。你試過了嗎?