无法从 JSONModel 初始化模型。我得到零值

Posted

技术标签:

【中文标题】无法从 JSONModel 初始化模型。我得到零值【英文标题】:Not able to initialise a model from JSONModel. I am getting nil value 【发布时间】:2016-12-16 05:55:09 【问题描述】:

我无法从 JSONModel 初始化模型。我正在使用JSONModel(因为在这个 poc 之后 .json 很大,需要像这样的第三方库来照顾。)。我的步骤如下:

    Pod 安装了 JSONModel 创建一个简单的模型,您希望从 url 获取的 .json 进行初始化 项目中的模型。

    根据描述,我从中得到了nil 值。

    分析我得到nil 值的原因,我认为可能是一个原因。

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

我在这里得到 .json 值,所以检查一下

[json isKindOfClass:[NSArray class]], 

我得到一个nil 值。

在我的模型的 .h 文件中。我在 .m 文件中创建了一个 jokeid 属性,我正在使用此代码

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


我需要一些关于 JSONModel 的“arrayOfModelsFromData:”的指导。我正在发布我的快照和代码

代码在github https://github.com/utsav475908/sdfs 调试快照在这里

【问题讨论】:

你能展示你对 JokeModel 的整个“jsonDict”和结构吗?原因是 jsonModel 将数据与您的属性及其数据类型相匹配。如果无法匹配,它将返回一个空对象。 是的,我已经给出了github的链接。要回答你的问题,jsonDict 是这样的:jokeid = 7; text = "曾经有一条以 Chuck Norris 命名的街道,但后来因为没有人穿过 Chuck Norris 而被改变了"; github 转到 Jsonmodel 库页面。不是你的代码。 zzz github github.com/utsav475908/sdfs 是我的代码的链接 #GeneCode 你能帮我吗,为什么我得到零值。 【参考方案1】:

你得到一个 nil 值,因为你的 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 个对象的数组。

【讨论】:

以上是关于无法从 JSONModel 初始化模型。我得到零值的主要内容,如果未能解决你的问题,请参考以下文章

JSONModel:无法将获取的 JSON 分配给模型

JsonModel 映射问题

如何使用 JSONModel 创建模型类?

Swift 中的 JSONModel 问题

Jsonmodel - 模型集合映射未给出预期结果

iOS中JSONModel的使用