【发布时间】:2017-11-14 13:11:38
【问题描述】:
let dictionaryToJsonObject: [String: Any]
let Dictionary: [String: Any] = ["FirstName": "John", "Email": "Jo@sm.com", "Password": "john@123", "LastName": "Smith", "Organization": ["Type": 5, "Name": "IT"]]
do {
let jsonData = try JSONSerialization.data(withJSONObject: Dictionary as Any, options: .prettyPrinted)
let jsonText = String(data: jsonData,
encoding: .ascii)
print("JSON string = \(jsonText!)")
if JSONSerialization.isValidJSONObject(jsonText!) {
print("Valid")
} else {
print("Not Valid")
}
}catch {
print(error.localizedDescription)
}
输出将是:-
JSON string = {
"FirstName" : "John",
"Email" : "Jo@sm.com",
"Password" : "john@123",
"LastName" : "Smith",
"Organization" : {
"Type" : 5,
"Name" : "IT"
}
}
预期结果:
{
FirstName:"John",
Email:"Jo@sm.com",
Password:"john@123",
LastName:"Smith",
Organization:{
Type:5,
Name:"IT"
}
}
【问题讨论】:
-
两种结果有什么区别?为什么 .ascii 编码?将数据转换为字符串时应使用 utf8 编码!
-
encoding: .ascii— 你为什么要这样做?它以 UTF8 编码。它们只有前 128 个字符相同。 -
@Lion 输出在字符串 Json 格式中,预期一个在 json 对象格式中是否可能
-
@SanjayMishra :您正在将数据转换为 json 字符串!如果你想要对象形式的结果,那么你应该将它转换为 json 对象!参考我的回答!但最终它将成为您的字典!
标签: ios json swift string serialization