Как преобразовать этот ответ JSON с сотнями ключей в сообщении, чтобы иметь возможность назначить его типу переменной [AnyHashable: Any]
JSON
{
"content": {
"message": {
"greet": "Hello world",
"error": "There is an error",
"thanks": "Thank you",
...
}
}
}
1010 * Попытка *
После того, как я проанализировал JSON, мне не удалось присвоить jsonData
переменной, которая принимает [AnyHashable: Any]
. Я пытался изменить тип message
на [AnyHashable: Any]
, но он не соответствует Decodable
.
// Model.swift
struct TestCase: Decodable {
let content: Content
}
struct Content: Decodable {
let message: [String: String]
}
// ViewController.swift
private var testVariable: [AnyHashable: Any]
private func loadJson(filename: String) {
if let url = Bundle.main.url(forResource: filename, withExtension: "json") {
do {
let data = try Data(contentsOf: url)
let decoder = JSONDecoder()
let jsonData = try decoder.decode(TestCase.self, from: data)
// Problem faced
testVariable = jsonData // error
} catch let jsonError {
print("JsonError: ", jsonError)
}
}
}