"Session_Details": [
{
"Start_Time": "19:00",
"End_Time": "19:00",
"Time": "19:00 - 19:00",
"Session_Name": "WELCOME DINNER",
"Session_Id": 6,
"Opinion_Details": [
{
"Opinion_Id": 1,
"Opinion_Name": "opinion 1",
"Opinion_Url": "www.google.com",
"Priority": 5,
"Icon": "f075"
},
{
"Opinion_Id": 2,
"Opinion_Name": "opinion 2",
"Opinion_Url": "www.google.com",
"Priority": 4,
"Icon": "f075"
}
],
"Tag_Details": [
{
"Tag_Id": 1,
"Tag_Name": "tag 1",
"Tag_Color": "#000000",
"Tag_Order": 1
}
],
},
{
"Start_Time": "10:00",
"End_Time": "10:30",
"Time": "10:00 - 10:30",
"Session_Name": "MORNING BREAK",
"Session_Id": 9,
"Opinion_Details": [
{
"Opinion_Id": 1,
"Opinion_Name": "opinion 1",
"Opinion_Url": "www.google.com",
"Priority": 5,
"Icon": "f075"
}
],
"Tag_Details": [
{
"Tag_Id": 1,
"Tag_Name": "tag 1",
"Tag_Color": "#000000",
"Tag_Order": 1
}
],
}
]
这是我从后端获取的数组,我将其带入NSMutableArray,但我想以除 Start_Time , End_Time 以外的其他格式自定义数据 ,时间,其余所有元素移入另一个数组,如
“会话详细信息”:[ { “ Start_Time”:“ 19:00”, “ End_Time”:“ 19:00”, “时间”:“ 19:00-19:00”, “ Event_Details”:[ { “ Session_Name”:“欢迎晚餐”, “ Session_Id”:6 “ Opinion_Details”:[ { “ Opinion_Id”:1, “ Opinion_Name”:“意见1”, “ Opinion_Url”:“ www.google.com”, “优先级”:5 “ Icon”:“ f075” }, { “ Opinion_Id”:2 “ Opinion_Name”:“意见2”, “ Opinion_Url”:“ www.google.com”, “优先级”:4 “ Icon”:“ f075” } ], “ Tag_Details”:[ { “ Tag_Id”:1 “ Tag_Name”:“标签1”, “ Tag_Color”:“#000000”, “ Tag_Order”:1 } ], } ] } ]
**请分享您的建议,并预先感谢**
答案 0 :(得分:1)
您可以创建几个模型对象:
NSObject
的子类。我们称之为Event
。EventDetails
:NSObject
Event
将具有以下属性:
startTime
类型为NSString或NSDate endTime
类型为NSString或NSDate time
类型为NSString或NSTimeInterval eventDetails
或EventDetails
类型的NSArray<EventDetails *> *
EventDetails
会有sessionName
等(根据字典“ Event_Details”数组的内容)。
然后,您将创建一个EventBuilder
:NSObject
类。它只有一个方法:
+ (Event*)buildEventFromDictionary:(NSDictionary*)dict
。 dict
是初始JSON的“ Session_Details”数组中的对象。在内部,此方法将创建一个新的Event
和EventDetails
对象,并按照您想要的方式用适当的字段填充它。稍后,您将使用Event
对象而不是NSDictionary对象。这样可以使您的代码干净且类型安全。