-1
我得到不同的json对象,我需要检测json消息的类型(卖家列表,客户列表,产品,订单等)。json的检测类型
的Json类型1:
{"Sellers": [
{ "name":"A", "ID":5 },
{ "name":"B", "ID":4 }
]
}
的Json类型2:
{"Clients": [
{ "name":"A", "SelectedProduct": "DDD" },
{ "name":"B", "SelectedProduct": "CCC" }
]
}
的Json类型3:
{"ID": "78915"}
如何检测JSON的类型来分析呢?
guard let JSON = try JSONSerialization.jsonObject(with:data, options: []) as? [String: Any],
let sellers = JSON["Sellers"] as? [[String: Any]],
let clients = JSON["Clients"] as? [[String: Any]],
let product = JSON["ID"] as? [String: Any],
else { return }
var type: JsonType
if(sellers != nil){
type = ...
}
if(clients != nil){
type = ...
}
什么是检测json对象类型的最佳方法?我可以在内部检测到它吗让后卫让JSON区域?
持有什么你想'后卫let'? – Desdenova
不知道你在做什么。 'guard let'语句可以确保'卖家!= nil'和'clients!= nil'这两个if语句总是会发生。 – Connor
但是,如果你想分开处理所有这些领域,那么你为什么要把它们作为一个整体来对待?只要从警卫中删除这些人并分别进行测试。你的问题不清楚。 – Moritz