Swift 3에서 객체의 직렬화 및 직렬화 해제 가능성이 있는지 알고 싶습니다.
다음과 같은 개체가 있습니다.
class Credentials{
var username:String;
var password:String;
init(){
username = "";
password = "";
}
}
이 클래스를 json으로 변환하고 그 반대로 HTTP 게시물을 통해 전송하고 싶습니다.
타사 라이브러리를 사용하고 싶지 않습니다.
답변 해주셔서 감사합니다.
우선 클래스를 사용할 필요가 없으며 구조체만으로도 충분합니다.
JSON 문자열과 변수를 예상하는 실패 가능한 이니셜 라이저가있는 간단한 솔루션 jsonRepresentation
struct Credentials {
var username = ""
var password = ""
init(username: String, password:String) {
self.username = username
self.password = password
}
init?(json : String) {
guard let data = json.data(using: .utf8),
let jsonDict = try? JSONSerialization.jsonObject(with: data, options: []) as? [String:String],
let username = jsonDict?["username"],
let password = jsonDict?["password"] else { return nil }
self.username = username
self.password = password
}
var jsonRepresentation : String {
let jsonDict = ["username" : username, "password" : password]
if let data = try? JSONSerialization.data(withJSONObject: jsonDict, options: []),
let jsonString = String(data:data, encoding:.utf8) {
return jsonString
} else { return "" }
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다