苹果在使用 URLSession.shared.dataTask 后更改了我的 JSON 格式
apple change my JSON format after using URLSession.shared.dataTask
我是绿色的 swift 3. 为了在 mysql 服务器和 iOS 之间传输数据,我尝试通过 URLSession.Shared.dataTask
连接我的服务器和设备。
但是格式变了。
来自(网页显示的格式)
[{"id":"1","names":"abc","pws_1":"password","pws_2":"pw"}]
到(Xcode中显示的格式)
Optional(<__NSSingleObjectArrayI 0x6200000039e0>(
{
names = abc;
id = 1;
"pws_1" = password;
"pws_2" = pw;
}
)
)
如何从这个 "JSONarray" 接收数据?
P.S。
这是我的代码:
let url = URL(string: "http://")
URLSession.shared.dataTask(with:url!, completionHandler: {(data, response, error) in
if error != nil {
print(error)
} else {
do {
let json = try? JSONSerialization.jsonObject(with: data!, options: [])
if json != nil{
if let Jtwo = json as? [String: Any] {
if let names = Jtwo["names"] as? String {
print(names)
}else{
print(Jtwo)
}
}else{
print(json)
}
}else{
print("json nil")
}
//self.statusL.text = names
} catch let error as NSError {
print(error)
}
}
}).resume()
您可以像这样解析和访问您的 JSON Array
。
URLSession.shared.dataTask(with: request) {data, response, error in
if error == nil {
do {
let jsonObj = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? [[String:Any]]
if let user = jsonObj.first {
print(user["names"])
print(user["id"])
print(user["pws_1"])
print(user["pws_2"])
DispatchQueue.main.async {
self.label.text = user["names"]
}
}
}
catch {
print(error)
}
}
}.resume()
我是绿色的 swift 3. 为了在 mysql 服务器和 iOS 之间传输数据,我尝试通过 URLSession.Shared.dataTask
连接我的服务器和设备。
但是格式变了。
来自(网页显示的格式)
[{"id":"1","names":"abc","pws_1":"password","pws_2":"pw"}]
到(Xcode中显示的格式)
Optional(<__NSSingleObjectArrayI 0x6200000039e0>(
{
names = abc;
id = 1;
"pws_1" = password;
"pws_2" = pw;
}
)
)
如何从这个 "JSONarray" 接收数据?
P.S。 这是我的代码:
let url = URL(string: "http://")
URLSession.shared.dataTask(with:url!, completionHandler: {(data, response, error) in
if error != nil {
print(error)
} else {
do {
let json = try? JSONSerialization.jsonObject(with: data!, options: [])
if json != nil{
if let Jtwo = json as? [String: Any] {
if let names = Jtwo["names"] as? String {
print(names)
}else{
print(Jtwo)
}
}else{
print(json)
}
}else{
print("json nil")
}
//self.statusL.text = names
} catch let error as NSError {
print(error)
}
}
}).resume()
您可以像这样解析和访问您的 JSON Array
。
URLSession.shared.dataTask(with: request) {data, response, error in
if error == nil {
do {
let jsonObj = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? [[String:Any]]
if let user = jsonObj.first {
print(user["names"])
print(user["id"])
print(user["pws_1"])
print(user["pws_2"])
DispatchQueue.main.async {
self.label.text = user["names"]
}
}
}
catch {
print(error)
}
}
}.resume()