Как преобразовать строку cookie в JSON с помощью Swift

#json #swift #string #cookies

#json #swift #строка #файлы cookie

Вопрос:

    ("Global_Data"): {
       Created = 574049501;
       Domain = "";
       Expires = "2019-03-19 02:11:40  0000";
       Name = "Data";
       Path = "/";
       Value = "{"countryISO":"US","cultureCode":"en-GB","currencyCode":"USD","apiVersion":"2.1.4"};
       Version = 1;
    }
  

При получении данных cookie из webview я получил значение => в виде строки
зная, что некоторые символы представляют собой специальные символы или буквы.
Как я могу преобразовать ее в формат JSON. Спасибо

«{«countryISO»:»US»,»cultureCode»:»en-GB»,»currencyCode»:»USD»,»apiVersion»:»2.1.4″}»

Ответ №1:

Ваша строка уже является строкой JSON, вам просто нужно удалить из нее кодировку в процентах, создать пользовательскую структуру, соответствующую Decodable, и все готово:

 struct Root: Decodable {
    let countryISO, cultureCode, currencyCode, apiVersion: String
}
  

 let string = "{"countryISO":"US","cultureCode":"en-GB","currencyCode":"USD","apiVersion":"2.1.4"}"

let json = string.removingPercentEncoding ?? ""
  

«{«countryISO»: «US», «cultureCode»: «en-GB», «currencyCode»:»USD», «apiVersion»: «2.1.4»}»

 do {
    let root = try JSONDecoder().decode(Root.self, from: Data(json.utf8))
    print(root.countryISO)    // "US"
    print(root.cultureCode)   // "en-GB"
    print(root.currencyCode)  // "USD"
    print(root.apiVersion)    // "2.1.4"
} catch {
    print(error) 
}