gpt4 book ai didi

json - 如何使用这个 JSON 响应?

转载 作者:搜寻专家 更新时间:2023-11-01 07:22:45 26 4
gpt4 key购买 nike

我想在我的自定义网站上使用捐赠支付。

我应该连接到一个 URL 并传递名称为“sku”和“device_id”的 2 个值。

作为答案,网络给了我一个名称为“status”的值和一个值类似于“726287618769179”的支付代码。

如果“status”等于“READY_TOPAY”,我应该转到下一个 url+paycode 并且然后用户可以填写卡号和密码等。

我使用此代码与网络连接和通信:

  let DID = UIDevice.currentDevice().identifierForVendor!.UUIDString
print("Device ID is : \(DID)")

let url = NSURL (string: "https://qqqq.com/rest-api/pay-request");
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);



let request = NSMutableURLRequest(URL: NSURL(string: "https://qqqq.com/rest-api/pay-request")!)
request.HTTPMethod = "POST"
let postString = "mypayid&device_id=\(DID)"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in
guard error == nil && data != nil else { // check for fundamental networking error
print("error=\(error)")
return
}

if let httpStatus = response as? NSHTTPURLResponse where httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}

let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
if (responseString?.UTF8String.) {

print("YESsssss")
}
}
task.resume()

问题是我得到的第一个 JSON 答案是这样的:

responseString = Optional({"error":false,"status":"READY_TO_PAY","pay_code":"4443697552108","prd_status":1})

我不知道该怎么办!

我应该如何判断“status”是否等于“READY_TO_PAY”转到下一个 url+paycode?

最佳答案

与其使用 NSString(data: data!, encoding: NSUTF8StringEncoding) 从 JSON 数据生成字符串,不如将 JSON 数据解码为字典,并通过安全下标访问其内容:

if let json = try? NSJSONSerialization.JSONObjectWithData(data!, options: []) {
if let content = json as? [String:AnyObject],
status = content["status"] as? String,
payCode = content["pay_code"] as? String {
print(status)
print(payCode)
}
}

现在您可以轻松地将 status 与“READY_TO_PAY”进行比较,并采取必要的措施。

关于json - 如何使用这个 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com