【发布时间】:2018-02-23 06:30:39
【问题描述】:
我们有如下的 json 对象数组:
[{
"CompanyCode": "1",
"MachineCode": null,
"MachineName": null,
"NoOfMeters": null,
"ScheduleNo": "12028",
"ScheduleDate": "17/2/2018 12:00:00 AM",
"ScheduleUser": "sales",
"CustomerCode": "0022100007",
"DeliveryCode": "0",
"SortOrder": "1",
"JobRefNo": "",
"CustomerName": "COLD STORAGE SUPERMARKETS ",
"CustAddress1": "GIANT COMPLEX",
"OutletName": "",
"OutAddress1": "",
"IsJobClosed": ""
}, {
"CompanyCode": "1",
"MachineCode": null,
"MachineName": null,
"NoOfMeters": null,
"ScheduleNo": "12029",
"ScheduleDate": "17/2/2018 12:00:00 AM",
"ScheduleUser": "sales",
"CustomerCode": "0022100008",
"DeliveryCode": "0",
"SortOrder": "1",
"JobRefNo": "",
"CustomerName": "COLD STORAGE WH - 21 TAMPINES ",
"CustAddress1": "GIANT COMPLEX",
"OutletName": "",
"OutAddress1": "",
"IsJobClosed": ""
}, {
"CompanyCode": "1",
"MachineCode": null,
"MachineName": null,
"NoOfMeters": null,
"ScheduleNo": "12027",
"ScheduleDate": "17/2/2018 12:00:00 AM",
"ScheduleUser": "winapp",
"CustomerCode": "0022100003",
"DeliveryCode": "0",
"SortOrder": "1",
"JobRefNo": "",
"CustomerName": "AVENZA PTE LTD ",
"CustAddress1": "83 CLEMENCEAU AVE",
"OutletName": "",
"OutAddress1": "",
"IsJobClosed": ""
}, {
"CompanyCode": "1",
"MachineCode": null,
"MachineName": null,
"NoOfMeters": null,
"ScheduleNo": "12025",
"ScheduleDate": "17/2/2018 12:00:00 AM",
"ScheduleUser": "winapp",
"CustomerCode": "0022100001",
"DeliveryCode": "0",
"SortOrder": "1",
"JobRefNo": "",
"CustomerName": "CASH ON DELIVERY (TO) ",
"CustAddress1": "CASH ON DELIVERY",
"OutletName": "",
"OutAddress1": "",
"IsJobClosed": ""
}, {
"CompanyCode": "1",
"MachineCode": null,
"MachineName": null,
"NoOfMeters": null,
"ScheduleNo": "12026",
"ScheduleDate": "17/2/2018 12:00:00 AM",
"ScheduleUser": "winapp",
"CustomerCode": "0022100002",
"DeliveryCode": "0",
"SortOrder": "1",
"JobRefNo": "",
"CustomerName": "DESPATCH - MT ",
"CustAddress1": "DESPATCH",
"OutletName": "",
"OutAddress1": "",
"IsJobClosed": ""
}]
我们希望根据 ScheduleUser 键类似部分对这个数组进行分组。
[
"Sales":[
{
}
{
}
]
"winapp":[
{
}
{
}
{
}
]
]
我们在swift 4中研究了分组Here
但是他们给出了字符串数组,我们不知道如何处理 json 值。 如果有任何其他方式,请给我们解决方案。我们已经提到了Link
我们无法理解这一点。
从本地获取值
if let path = Bundle.main.path(forResource: "salesorder", ofType: "json") {
do {
let data = try Data(contentsOf: URL(fileURLWithPath: path), options: .alwaysMapped)
do{
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
let jsonDictionary = json as? [[String:Any]]
print(jsonDictionary!)
}catch let error{
print(error.localizedDescription)
}
} catch let error {
print(error.localizedDescription)
}
} else {
print("Invalid filename/path.")
}
提前谢谢..
【问题讨论】:
-
你是如何解析这个 json 的?
-
我将此 json 作为文件添加到包路径中
-
请贴出代码。我会建议您获取所有可能的
ScheduleUser(作为数组),然后为每个ScheduleUser值获取filter数据。 -
@HarvantS.Choudhary 感谢您的回复,您可以添加一些示例代码或 ling 吗?
-
我不擅长 swift 但一定会尝试。
标签: ios swift3 collections swift4