У меня есть этот JSON:
{
"$type": "DTOMapper.DTOResponseList`1[[Telemed.Dto.DTOTip, Telemed.Dto]], DTOMapper",
"ResponseList": {
"$type": "System.Collections.Generic.List`1[[Telemed.Dto.DTOTip, Telemed.Dto]], mscorlib",
"$values": [
{
"$type": "Telemed.Dto.DTOTip, Telemed.Dto",
"Title": "NO TE JUNTES CON LUQUITAS",
"Text": "Porque si tenes un amigo lucas y otro amigo lucas, tenés dos lucas. Pero no te sirven para pagar nada",
"GroupName": "TGC.Tips1",
"ConfigurationPath": "TelemedGlobalConfig>Tips>Tips[0]"
},
{
"$type": "Telemed.Dto.DTOTip, Telemed.Dto",
"Title": "no te emborraches en las fiestas",
"Text": "Terminarás pateando globos",
"GroupName": "TGC.Tips2",
"ConfigurationPath": "TelemedGlobalConfig>Tips>Tips[1]"
}
]
},
"StatusCode": 200,
"ErrorId": 0
}
И я пытаюсь получить доступ к Title
и Text
из массива $values
.
Вот мои текущие структуры, но Root
дает мне ошибки.
struct Root : Decodable { // <<< Type 'Root' does not conform to protocol 'Decodable'
private enum CodingKeys : String, CodingKey { case responseList = "ResponseList" }
let responseList : ResponseList // <<< Use of undeclared type 'ResponseList'
}
struct Values : Decodable {
private enum CodingKeys : String, CodingKey {
case title = "Title"
case text = "Text"
}
let title : String
let text : String
}
Как правильно это сделать? Кроме того, я должен сделать struct
и let
для всего? Даже для вещей, которые я не буду использовать, как $type
, GroupName
?