2016-12-16 41 views
0

我無法從JSONModel初始化模型。我正在使用JSONModel(因爲在這個poc之後.json是巨大的,需要像這樣的第三方庫來照顧)。我的步驟如下:安裝無法從JSONModel初始化模型。我得到零值

  1. 盤上的JSONModel
  2. 創建要在以.json從URL得到初始化
    你在你的項目模型的簡單模型。
  3. 根據描述,我得到了nil值。

    分析爲什麼我得到了nil價值,我認爲可能是原因。

    if (!json || ![json isKindOfClass:[NSArray class]]) 
        return nil; 
    

在這裏我得到以.json值,因此檢查這

[json isKindOfClass:[NSArray class]], 

我得到一個nil值。

在我的模型的.h文件中。我創建jokeid,文字的屬性和.m文件,我使用此代碼

+(JSONKeyMapper*)keyMapper{ 
    return [[JSONKeyMapper alloc]initWithModelToJSONDictionary:@{@"jokeid":@"jokeid", @"text":@"text"}]; 

} 

我需要一些這方面的指導意見「arrayOfModelsFromData:」 JSONModel的。我張貼我的快照,並在githubhttps://github.com/utsav475908/sdfs 調試快照代碼

代碼是在這裏

+0

你可以顯示整個「jsonDict」和你有JokeModel的結構。原因是jsonModel將數據與您的屬性及其數據類型相匹配。如果它不能匹配,它會返回一個空對象。 – Joshua

+0

是的,我已經給了github的鏈接。要回答你的問題,jsonDict是這樣的:{ jokeid = 7; text =「過去有一條街道是以查克諾里斯的名字命名的,但因爲沒有人穿過查克諾里斯而生活,所以改變了街道。 } –

+0

github進入Jsonmodel庫頁面。不是你的代碼。 zzz – GeneCode

回答

0

,因爲你的JSON對象包含一個字典,而不是一個數組你得到一個零值。

對於正確的工作嘗試你的JSON有效載荷改變這樣的事情:

[ 
    { 
    "jokeid": 1, 
    "text": "There used to be a street named after Chuck Norris but it was changed because nobody crosses Chuck Norris and lives" 
    }, 
    { 
    "jokeid": 2, 
    "text": "There used to be a street named after Chuck Norris but it was changed because nobody crosses Chuck Norris and lives" 
    }, 
    { 
    "jokeid": 3, 
    "text": "There used to be a street named after Chuck Norris but it was changed because nobody crosses Chuck Norris and lives" 
    }, 
    { 
    "jokeid": 4, 
    "text": "There used to be a street named after Chuck Norris but it was changed because nobody crosses Chuck Norris and lives" 
    }, 
] 

,您將收到一個陣列,4個對象。 Screenshot