Конвертировать NSObject в строку JSON
У меня есть класс, который соответствует NSObject и имеет такие поля, как NSNumber и NSMutableArray, поэтому здесь нельзя использовать Codable.
Итак, класс такой:
class Custom: NSObject {
var users: NSMutableArray?
var type: NSNumber?
.. and many more fields
}
Теперь у меня есть объект этого класса, и я хочу получить строку JSON из этого объекта:
Я пробовал следующее:
let json = try? JSONSerialization.data(withJSONObject: customObject, options: JSONSerialization.WritingOptions.prettyPrinted) as? [String: Any]
let json = try? JSONSerialization.data(withJSONObject: paymentData, options: JSONSerialization.WritingOptions.prettyPrinted)
Два приведенных выше кода дали сбой, как неверный тип верхнего уровня в JSON write '
And used SwiftyJson library too but that too gave the error SwiftyJSON.SwiftyJSONError.unsupportedType
Я хотел попробовать Codable, но это требует от меня преобразования NSNumber в Int и MSMutableArray в Array, но я не могу изменить это, так как я использовал этот код во многих других местах, а также мой код работает с Objective C, поэтому либо мне пришлось использовать NSNumber или слишком часто нужно было конвертировать между Int и NSNumber.
Есть ли решение, которое не требует изменения текущей реализации класса и все же преобразовать объект в json. Любая помощь будет оценена.