ios – 将JSON字符串解析为对象数组Objective C.

ios – 将JSON字符串解析为对象数组Objective C.,第1张

概述我有一个从休息Web服务请求返回的 JSON字符串, 我想将这个字符串解析为确定类的对象数组, 这是JSON字符串 [ { "validationCode": null, "FirstName": "Samer", "LastName": "Shame", "MobileNumber": "0991992993", 我有一个从休息Web服务请求返回的 JSON字符串,
我想将这个字符串解析为确定类的对象数组,
这是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.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1101800.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存