JsonModelLib:如果 JSON 中不存在变量,则无法解析

JsonModelLib: Unable to parse if a variable does not exists in JSON

我知道我的问题有点令人困惑,所以请允许我详细说明。

JSON 解析库:JSONModelLib

型号

#import "JsonModelLib/JSONModel.h"


@interface CustomerDetailsModel : JSONModel


@property (nonatomic, strong) NSString *description;

@property (nonatomic, strong) NSString *firstName;

@property (nonatomic, strong) NSString *lastName;

@property (nonatomic, strong) NSString *activatedTill;

@property (nonatomic, strong) NSString *birthdate;

@property (nonatomic, strong) NSString *phone;

@property (nonatomic, strong) NSString *id;

@property (nonatomic, strong) NSString *statusCode;

@end

JSON 字符串

NSString* str = @"\
{\
\"description\": \"None\",\
\"firstName\": \"vikas\",\
\"lastName\": \"bansal\",\
\"activatedTill\": \"2016-01-17 09:04:11\",\
\"email\": \"bansal\",\
\"birthdate\": \"None\",\
\"phone\": \"None\",\
\"id\": \"1053\",\
\"statusCode\": \"1600\"\
}\
";

正在解析

CustomerDetailsModel* c = [[CustomerDetailsModel alloc] initWithString:str error:nil];

问题

问题是有时 json 不包含模型中存在的变量 为什么? 因为我正在使用的 REST API如果其中没有值,则不会将变量呈现为 JSON。

举个例子,假设 birthdate 没有值,那么它不会包含在 JSON 中,所以当我尝试解析 JSON 时,我得到的是一个错误。

请帮忙或建议我该怎么做

注意:我已经在 JsonModelLib 方面走得很远了,所以如果您要我使用其他东西或其他库,那么我会很痛苦。如果可能的话,请尝试在不更改库的情况下提出建议

非常感谢...

使用可选模型 属性 - 在 repo 的自述文件中有一个示例。 https://github.com/icanzilb/JSONModel#optional-properties-ie-can-be-missing-or-null