Я работаю над одним проектом. Я получил один ответ от API. Теперь я хочу получить этот ответ через функцию JsonDecode (). Decod со структурой, использующей декодируемый класс.
Iсделали кодируемую структуру, но она выдает мне ошибку вроде:
Данные не могут быть прочитаны, потому что они не в правильном формате.
MyОтвет API:
{
auth = 1;
data = {
"dealer_rating" = {
average = "3.5";
"average_width" = "70%";
count = 2;
dislikes = 0;
likes = 2;
rate1 = 4;
"rate1_label" = "Atenci\U00f3n al cliente";
"rate1_width" = "80%";
rate2 = "3.5";
"rate2_label" = "Proceso de compra";
"rate2_width" = "70%";
rate3 = 3;
"rate3_label" = "Experiencia general";
"rate3_width" = "60%";
};
review = (
{
average = 3;
"post_author" = 16;
"post_content" = "Test of iOS developer.";
"post_title" = "iOS Test";
rate1 = 3;
"rate1_label" = "Atenci\U00f3n al cliente";
rate2 = 3;
"rate2_label" = "Proceso de compra";
rate3 = 3;
"rate3_label" = "Experiencia general";
"stm_recommended" = yes;
username = "";
},
{
average = 4;
"post_author" = 22;
"post_content" = vvvvvvvvvv;
"post_title" = vvvvvvvvvv;
rate1 = 5;
"rate1_label" = "Atenci\U00f3n al cliente";
rate2 = 4;
"rate2_label" = "Proceso de compra";
rate3 = 3;
"rate3_label" = "Experiencia general";
"stm_recommended" = yes;
username = Vnn;
}
);
};
message = "Review found.";
status = 1;
}
Моя декодируемая структура:
struct resDelerReview : Codable {
struct struDataString : Codable {
var average:String?
var rate1:Int
var rate1_label:String?
var rate2:Int
var rate2_label:String?
var rate3:Int
var rate3_label:String?
var likes:Int
var dislikes:Int
var count:Int
var rate1_width:String?
var rate2_width:String?
var rate3_width:String?
var average_width:String?
}
struct struReviewList : Codable {
var post_author:String?
var username:String?
var post_content:String?
var post_title:String?
var rate1:String?
var rate1_label:String?
var rate2:String?
var rate2_label:String?
var rate3:String?
var rate3_label:String?
var stm_recommended:String?
var average:Int
}
struct reviewRating : Codable {
let dealer_rating:struDataString
let review:[struReviewList]
}
let data:reviewRating
let status:Bool
let auth:Bool
let message:String?
}
Ответ почтальона в тексте
{
"data": {
"dealer_rating": {
"average": "3.5",
"rate1": 4,
"rate1_label": "Atención al cliente",
"rate2": 3.5,
"rate2_label": "Proceso de compra",
"rate3": 3,
"rate3_label": "Experiencia general",
"likes": 2,
"dislikes": 0,
"count": 2,
"rate1_width": "80%",
"rate2_width": "70%",
"rate3_width": "60%",
"average_width": "70%"
},
"review": [
{
"post_author": "16",
"username": "",
"post_content": "Test of iOS developer.",
"post_title": "iOS Test",
"rate1": "3",
"rate1_label": "Atención al cliente",
"rate2": "3",
"rate2_label": "Proceso de compra",
"rate3": "3",
"rate3_label": "Experiencia general",
"stm_recommended": "yes",
"average": 3
},
{
"post_author": "22",
"username": "Vnn",
"post_content": "vvvvvvvvvv",
"post_title": "vvvvvvvvvv",
"rate1": "5",
"rate1_label": "Atención al cliente",
"rate2": "4",
"rate2_label": "Proceso de compra",
"rate3": "3",
"rate3_label": "Experiencia general",
"stm_recommended": "yes",
"average": 4
}
]
},
"status": true,
"auth": true,
"message": "Review found."
}
Мой ответ почтальона:
Пожалуйста, помогите мне, ребята, я застреваю.
Заранее спасибо