如何从json字典自动创build模型类(NSObject)?

有没有什么办法来创build字典或JSON响应的模型类(包装)? 因为在我的应用程序中有很多web服务,所有的WS都包含大数据。 如果我一直创build所有的时间,它需要很多时间来创build检查空数据和编码解码对象的NSObject类。 要么build议我这是正确的方式来手动创build所有的NSObject? 我不想parsing直接的字典。 谢谢。

最后我得到了非常简单快速的iOS和Android模型类生成工具。 只需复制并粘贴您的答复,并从工具中获取模型类。

  • 从AppStore下载JSON加速器 (Mac AppStore)。
  • 从浏览器复制你的JSON响应( 响应必须是JSONvalidation的 )。

  • 粘贴在Json加速器中>>单击生成并保存您的模型名称。

  • select输出语言并添加基类名称(不需要类前缀)
  • 见下面生成的模型类和子模型类(这是自动生成所有的JSON对象类)


使用像这样>>>例如您的JSON Respoce Dictionary是

 {"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]} 
  • 使用Employee Array,然后像下面的代码一样创buildObject With Created Model Classes,并且必须使用For loopenumerateObjectsUsingBlock任何一个来创build,然后添加到Mutable Array中。

    NSArray * arrTemp = [NSArray arrayWithArray:yourResponceDict [@“employees”]]; NSMutableArray * myMutableArray = [NSMutableArray array];

     [arrTemp enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { Employee *aObj = [Employee modelObjectWithDictionary:obj]; [myMutableArray addObject:aObj]; }]; 

这个工具是非常简单和节省时间创buildJson对象类来parsing开发中的任何地方的数据。

您可以使用像BaseModel,ObjectMapper或EVReflection开源项目这样的模块来达到这个目的。 他们都是你可以在你的项目中使用的开源模块。

你看过NSKeyValueCoding吗? 它有几种方法可能会发现有用,包括下面的方法,它们可以基于对象的字典表示来设置对象上的所有值。

[object setValuesForKeysWithDictionary:dictionary];

假设你能够从字典表示中以某种方式确定对象的类,可以使用这个; 另外,使用dictionaryWithValuesForKeys:可以很容易地将对象转换成dictionaryWithValuesForKeys: