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
我知道我的问题有点令人困惑,所以请允许我详细说明。
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