Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 Swift 4使用';-';信_Json_Swift_Swift4_Decodable - Fatal编程技术网

Json Swift 4使用';-';信

Json Swift 4使用';-';信,json,swift,swift4,decodable,Json,Swift,Swift4,Decodable,swift 4可解码协议如何处理“-”字母? 例如: [{ "trigger": { "url-filter": "webkit.org", "resource-type": ["image"] }, "action": { "selector": "#logo", "type": "block" } }] 在我的Swift课堂上: struct blockerJson : Decodable {

swift 4可解码协议如何处理“-”字母? 例如:

[{
    "trigger": {
        "url-filter": "webkit.org",
        "resource-type": ["image"]
 },
    "action": {
        "selector": "#logo",
        "type": "block"
    }
}]
在我的Swift课堂上:

struct blockerJson : Decodable {
    let action : action
    let trigger : trigger

    struct action : Decodable {
        let selector : String
        let type : String
    }

    struct trigger : Decodable {
        let urlFilter : String
        let resourceType : String
    }
}

我不知道如何更改类,但json无法更改…

此代码解析触发器块

struct Trigger: Decodable {
    var urlFilter: String
    var resourceType: [String]

enum CodingKeys: String, CodingKey {
        case urlFilter = "url-filter"
        case resourceType = "resource-type"
    }
}

它的工作原理与任何其他受支持的字符类似。您需要根据自己的需要在json响应中执行此操作。可能重复的Xcode显示错误[Type'trigger'不符合协议'Decodable']。@LeoWu请注意输入错误
urlFilter
(两个
l
)与
urlFilter
(一个
l
)@瓦迪安10倍固定