我尝试生成JSON对象并将其转换为JSON字符串,这个过程已经成功完成。但是当我尝试将JSON字符串转换为JSON对象时,遇到了真正的问题。我尝试后得到的结果是nil。
func generateJSONObject() {
let jsonObject = createJSONObject(firstName: firstName[0], middleName: middleName[0], lastName: lastName[0], age: age[0], weight: weight[0])
print("jsonObject : \(jsonObject)")
let jsonString = jsonObject.description // convert It to JSON String
print("jsonString : \(jsonString)")
let jsonObjectFromString = convertToDictionary(text: jsonString)
print("jsonObjectFromString : \(String(describing: jsonObjectFromString))")
}
创建一个JSONObject函数
// JSON Object creation
func createJSONObject(firstName: String, middleName: String, lastName: String, age: Int, weight: Int) -> [String: Any] {
let jsonObject: [String: Any] = [
"user1": [
"first_name": firstName,
"middle_name": middleName,
"last_name": lastName,
"age": age,
"weight": weight
]
]
return jsonObject
}
convertToDictionary func
func convertToDictionary(text: String) -> [String: Any]? {
if let data = text.data(using: .utf8) {
do {
return try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
} catch {
print(error.localizedDescription)
}
}
return nil
}
日志
- 当我打印
JSON
对象时,我得到以下结果:
jsonObject:["user1": ["age": 21,"middle_name": "Lazar","last_name": "V","weight": 67,"first_name": "Alwin"]]
当我打印
JSON
字符串时,我得到以下结果:jsonString:["user1": ["age": 21,"middle_name": "Lazar","last_name": "V","weight": 67,"first_name": "Alwin"]]
将
JSON
字符串转换为JSON
对象时,我得到以下错误:无法读取数据,因为其格式不正确。
jsonObjectFromString:nil
我不知道为什么会出现这种情况。我想将JSON
字符串转换为JSON
对象,并解析JSON
。