在if语句中使用返回的JSON状态(检查IAP自动续订收据)

时间:2015-08-16 20:07:23

标签: json swift in-app-purchase

我想查看购买自动续订的当前订阅状态。我在获得有关如何使用/查询返回数据的建议后,通过JSON获取收据数据

if let parseJSON = json {
                        println("Recipt \(parseJSON)")

                    }

返回

Recipt {
    environment = Sandbox;
    status = 21004;
}

虽然我知道这不会编译,但我想做的是像if语句一样:

if parseJSON contains status = 21004 {

                           //Do something

                        }

2 个答案:

答案 0 :(得分:1)

你可能会考虑像

这样的东西
if parseJSON["status"] as? Int == 21004 {
    // do something
}

这是有效的,因为as? Int会自动将NSNumber转换为Swift整数,并且因为有==的版本接受可选参数。

public func ==<T : Equatable>(lhs: T?, rhs: T?) -> Bool

答案 1 :(得分:0)

您可以使用SwiftyJSON。它将是:

let parseJSON = JSON(data: json)
if parseJSON["status"] == "21004" {
//do something
}

如果不起作用,请尝试编写parseJSON [“status”]。 stringValue