Конвертировать 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. Любая помощь будет оценена.

0 ответов

Другие вопросы по тегам