将NSObject转换为JSON字符串

时间:2018-09-17 14:14:58

标签: json swift nsobject

我有一个符合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 个答案:

没有答案