Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用未解析标识符';json';以迅捷4_Json_Swift_Swift4 - Fatal编程技术网

使用未解析标识符';json';以迅捷4

使用未解析标识符';json';以迅捷4,json,swift,swift4,Json,Swift,Swift4,使用未解析标识符“json”时出现错误。刚才我用的是swift4。 我只想获取json数据并根据返回参数返回3种类型的msg 快速味精(このクーポンは取得済です) 意思是“它已经被保存了” 第二味精(マイクーポンに追加されました) 意思是“它现在被保存了” 第三味精(マイクーポンに追加できませんでした) 表示“应用程序无法保存它”。>这是因为缺少注册用户参数 如何解决swift4中未解析标识符“json”的使用问题 @objc func saveCouponToMyCoupon() {

使用未解析标识符“json”时出现错误
。刚才我用的是swift4。 我只想获取json数据并根据返回参数返回3种类型的msg

快速味精(このクーポンは取得済です) 意思是“它已经被保存了”

第二味精(マイクーポンに追加されました) 意思是“它现在被保存了”

第三味精(マイクーポンに追加できませんでした) 表示“应用程序无法保存它”。>这是因为缺少注册用户参数

如何解决swift4中未解析标识符“json”的使用问题

@objc func saveCouponToMyCoupon() {

    let params = [
        "merchant_id" : ApiService.sharedInstance.merchant_id,
        "coupon_id" : self.coupon?.coupon_id
        ] as! [String : String]

    Alamofire.request(APIURL.k_Coupon_Publish, method: .post, parameters: params, encoding: URLEncoding(destination: .httpBody), headers: ApiService.sharedInstance.header)
        .validate(statusCode: 200..<500)
        .responseJSON { response in
            switch response.result {
            case .success(let data):
                print(response)
                print(response.result)

                if json["returnCode"] == "E70" {
                    ErrorMessage.sharedIntance.show(title: "このクーポンは取得済です。", message: "")
                }else {
                    ErrorMessage.sharedIntance.show(title: "マイクーポンに追加されました", message: "")
                }

            case .failure(let error):
                debugPrint(error)
                ErrorMessage.sharedIntance.show(title: "マイクーポンに追加できませんでした", message: "")
                break
            }
    }
}
@objc func savecoupon(){
设params=[
“商户id”:ApiService.sharedInstance.merchant\u id,
“优惠券id”:自我优惠券?优惠券id
]as![字符串:字符串]
Alamofire.request(apirl.k_优惠券_发布,方法:.post,参数:params,编码:urlcodeding(目的地:.httpBody),头:ApiService.sharedInstance.header)
.验证(状态代码:200..From:

在您的情况下,
switch response.result…case.success(let data):
是在
response.result.value
中获取数据的另一种方法

但是,您将变量命名为
data
,而不是
json
。如果更改名称,它应该可以工作

Alamofire.request(APIURL.k_Coupon_Publish, method: .post, parameters: params, encoding: URLEncoding(destination: .httpBody), headers: ApiService.sharedInstance.header)
    .validate(statusCode: 200..<500)
    .responseJSON { response in
        switch response.result {
        case .success(let json): // <-- use json instead data.
            print(response)
            print(response.result)

           // Cast json to a string/any dictionary.
           // Get the return code and cast it as a string.
           // Finally, compare the return code to "E70".
           if let dict = json as? [String: Any], let code = dict["returnCode"] as? String, code == "E70" {
                ErrorMessage.sharedIntance.show(title: "このクーポンは取得済です。", message: "")
            }else {
                ErrorMessage.sharedIntance.show(title: "マイクーポンに追加されました", message: "")
            }

        case .failure(let error):
            debugPrint(error)
            ErrorMessage.sharedIntance.show(title: "マイクーポンに追加できませんでした", message: "")
            break
        }
}
Alamofire.request(apirl.k_优惠券_发布,方法:.post,参数:params,编码:URLEncoding(目的地:.httpBody),头:ApiService.sharedInstance.header)

.validate(statusCode:200..错误消息非常清楚:变量
json
是否定义在行
if json[“returnCode”]…
?不,不是。你忘了将响应的JSON分配给变量
JSON
谢谢。你的意思是像这样
让JSON
var JSON
?新的错误得到。
类型“Any”没有下标成员。
刚才我正在更改另一个开发人员编写的代码。。所以我认为有编译器错误。@SHIGE y是的,
json[“returnCode”]
很久没有像这样工作了。@SHIGE我跳出了原来的问题,展示了一种让比较工作的方法。
Alamofire.request(APIURL.k_Coupon_Publish, method: .post, parameters: params, encoding: URLEncoding(destination: .httpBody), headers: ApiService.sharedInstance.header)
    .validate(statusCode: 200..<500)
    .responseJSON { response in
        switch response.result {
        case .success(let json): // <-- use json instead data.
            print(response)
            print(response.result)

           // Cast json to a string/any dictionary.
           // Get the return code and cast it as a string.
           // Finally, compare the return code to "E70".
           if let dict = json as? [String: Any], let code = dict["returnCode"] as? String, code == "E70" {
                ErrorMessage.sharedIntance.show(title: "このクーポンは取得済です。", message: "")
            }else {
                ErrorMessage.sharedIntance.show(title: "マイクーポンに追加されました", message: "")
            }

        case .failure(let error):
            debugPrint(error)
            ErrorMessage.sharedIntance.show(title: "マイクーポンに追加できませんでした", message: "")
            break
        }
}