如何获取json花括号内的数据? Swift
How to get the data inside the json curly braces? Swift
我可以获取结果和消息数据,但无法获取 crew
中的 crew_name
。如果数据在花括号内,我如何获取数据?
Json 打印在控制台上
{
crew = {
"crew_avatar" = "http://ec2-52-221-231-3.ap-southeast-1.compute.amazonaws.com/gv/images/profile_image/Pang_Kang_Ming_916210_0e9.jpg";
"crew_contact" = 0123456789;
"crew_email" = "pang@xover.com.my";
"crew_gender" = Male;
"crew_id" = PP000001;
"crew_name" = "Pang Kang Ming";
"crew_preferred_name" = PKM;
"crew_qrcode" = "images/qrcode/qrcode_085960293a5378a64bec6ebfa3c89bb7.png";
};
message = "Login Sucessfully";
result = success;
}
@IBOutlet var empNameLabel: UILabel!
@IBOutlet var empIdLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let empNameValue = user!("crew"["crew_name"])as? String
let empIdValue = user!["result"]as? String
empNameLabel.text = empNameValue
empIdLabel.text = empNameValue
}
您需要反序列化 JSON 才能使用对象内的属性。参考这个 link 他们使用 ObjectMapper 序列化和反序列化 JSON 个对象。
注意:在使用 ObjectMapper
之前,请务必阅读 documentation
您需要将 JSON 反序列化为一个对象 您可以使用 Swift 构建它 JSON 序列化 NSJSONSerialization which is a bit cumbersome or use open source library like SwiftyJSON
反序列化后,您将拥有一个代表您的 JSON 的对象,然后您可以像访问 class 的任何参数一样访问它(如果您将 SwifyJSON) , 或者你可以像字典一样访问它
yourJSONObject["crew"]["crew_name"]
大括号内的代码是一个字典,您可以通过首先从 "crew" 键创建一个字典,然后通过它访问 "crew_name" 来访问它。
假设 user
变量是使用 JSON 数据正确创建的,您可以执行以下操作来访问 "crew_name":
if let crew = user!["crew"] as? [String:Any], let crewName = crew["crew_name"] as? String {
print(crewName) // output: "Pang Kang Ming"
}
我可以获取结果和消息数据,但无法获取 crew
中的 crew_name
。如果数据在花括号内,我如何获取数据?
Json 打印在控制台上
{
crew = {
"crew_avatar" = "http://ec2-52-221-231-3.ap-southeast-1.compute.amazonaws.com/gv/images/profile_image/Pang_Kang_Ming_916210_0e9.jpg";
"crew_contact" = 0123456789;
"crew_email" = "pang@xover.com.my";
"crew_gender" = Male;
"crew_id" = PP000001;
"crew_name" = "Pang Kang Ming";
"crew_preferred_name" = PKM;
"crew_qrcode" = "images/qrcode/qrcode_085960293a5378a64bec6ebfa3c89bb7.png";
};
message = "Login Sucessfully";
result = success;
}
@IBOutlet var empNameLabel: UILabel!
@IBOutlet var empIdLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let empNameValue = user!("crew"["crew_name"])as? String
let empIdValue = user!["result"]as? String
empNameLabel.text = empNameValue
empIdLabel.text = empNameValue
}
您需要反序列化 JSON 才能使用对象内的属性。参考这个 link 他们使用 ObjectMapper 序列化和反序列化 JSON 个对象。
注意:在使用 ObjectMapper
之前,请务必阅读 documentation您需要将 JSON 反序列化为一个对象 您可以使用 Swift 构建它 JSON 序列化 NSJSONSerialization which is a bit cumbersome or use open source library like SwiftyJSON
反序列化后,您将拥有一个代表您的 JSON 的对象,然后您可以像访问 class 的任何参数一样访问它(如果您将 SwifyJSON) , 或者你可以像字典一样访问它
yourJSONObject["crew"]["crew_name"]
大括号内的代码是一个字典,您可以通过首先从 "crew" 键创建一个字典,然后通过它访问 "crew_name" 来访问它。
假设 user
变量是使用 JSON 数据正确创建的,您可以执行以下操作来访问 "crew_name":
if let crew = user!["crew"] as? [String:Any], let crewName = crew["crew_name"] as? String {
print(crewName) // output: "Pang Kang Ming"
}