У меня есть результат из облачной пожарной базы:
let mpUserRef = db?.collection(MPUser.PROPERTY_DB)
.whereField(MPUser.PROPERTY_FIREBASE_USER_ID, isEqualTo: firebaseUSer.uid)
.limit(to: 1).getDocuments() { (document, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in document!.documents {
let mpUser = fromJsonToMpUser( userJson: "\(document.data())" )
if mpUser != nil{
delegate.mpUser = mpUser
}
}
}
}
И я хочу декодировать результат в моем бизнес-объекте, вызывающем метод:
class func fromJsonToMpUser( userJson: String ) -> MPUser?{
let decoder = JSONDecoder()
do{
let json = userJson.data(using: .utf8)!
let mpUser = try decoder.decode(MPUser.self, from: json)
return mpUser
}catch{
print("Errore while ecode Club")
return nil
}
}
Но это не работает, у меня появляется сообщение об ошибке:
«Указанные данные не были действительными в формате JSON.», UnderError: Необязательный (Error Domain = NSCocoaErrorDomain Code = 3840 «Плохо сформированный массив вокруг символа 17.» UserInfo = {NSDebugDescription = Плохо сформированный массив вокруг символа 17.}))) .
Итак, как я могу преобразовать результат работы облачного пожарного магазина в действительный Json?