-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