
我想将这个字符串解析为确定类的对象数组,
这是JsON字符串
[ { "valIDationCode": null,"Firstname": "Samer","Lastname": "Shame","MobileNumber": "0991992993","SimNumber": null,"Email": null,"PhoneNumber": "0991992994","name": "Abo Alshamat","ID": 1 },{ "valIDationCode": null,"Firstname": "Ahmad","Lastname": "Ali","MobileNumber": "0992993994","PhoneNumber": "0992993995","name": "AL-Kamal","ID": 2 },"Firstname": null,"Lastname": null,"MobileNumber": "0993377800","PhoneNumber": null,"name": "Abo-MAhmoud","ID": 12 },"Firstname": "William","Lastname": "Ammar","MobileNumber": "0993994995","PhoneNumber": "0993994996","name": "Four Season","ID": 3 },"Firstname": "Ammar","Lastname": "William","MobileNumber": "0999555777","name": "uuuuu","ID": 20 },"MobileNumber": "0999888777","name": "NewOneFromI2","ID": 18 },"MobileNumber": "0999998997","PhoneNumber": "0999999998","name": "JOURY","ID": 4 },"MobileNumber": "202020","name": "TestTestRestaurant,Ammar,Hamed","ID": 19 }] 我想从中获取实例的类是:
@interface Restaurant : NSObject@property (nonatomic,strong) Nsstring *ID;@property (nonatomic,strong) Nsstring* Firstname;@property (nonatomic,strong) Nsstring* Lastname;@property (nonatomic,strong) Nsstring* MobileNumber;@property (nonatomic,strong) Nsstring* simNumber;@property (nonatomic,strong) Nsstring* PhoneNumber;@property (nonatomic,strong) Nsstring* name;@end
这样做的最佳方式是什么,对不起,问题可能来自基础知识,但我是客观C的新手
感谢您的时间.
解决方法 我建议为您的Restaurant类实现init方法.-(instancetype) initWithParameters:(NSDictionary*)parameters{ self = [super init]; if (self) { //initializations _valIDationCode = parameters[@"valIDationCode"]; // may be NSNull _firstname = [parameters[@"Firstname"] isKindOfClass:[NSNull class]] ? @"" : parameters[@"Firstname"]; ... } return self;} 注意:你可能有JsON Null的事实,使你的初始化有点复杂.当相应的JsON值为Null时,您需要决定如何初始化属性.
您的参数字典将是您从服务器获得的JsON数组中的第一级字典.
首先,创建一个JsON表示,即JsON中的NSArray对象:
NSError* localError;ID restaurantsObjects = [NSJsONSerialization JsONObjectWithData:data options:0 error:&localError];
IFF这没有失败,你的restaurantsObjects现在应该是一个NSArray对象,包含餐厅作为NSDictionarys.
现在,将直接创建一个NSMutableArray,它将填充Restaurant对象:
NSMutableArray* restaurants = [[NSMutableArray alloc] init];for (NSDictionary* restaurantParameters in restaurantsObjects) { Restaurant* restaurant = [Restaurant alloc] initWithParameters: restaurantParameters]; [restaurants addobject:restaurant];} 最后,您可以在某个控制器中设置一个属性餐厅:
self.restaurants = [restaurants copy];总结
以上是内存溢出为你收集整理的ios – 将JSON字符串解析为对象数组Objective C.全部内容,希望文章能够帮你解决ios – 将JSON字符串解析为对象数组Objective C.所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)