#arrays #json #flutter
Вопрос:
У меня есть сообщение JSON, которое я отправляю из своего приложения Flutter, как только в приведенном ниже коде:
// class connecting value from the textfield to database with json
class LoginProfile {
int id;
String CardNumber;
String ExpiryDate;
String ExpiryYear;
String VerifyCode;
LoginProfile({this.id = 0,this.CardNumber
,this.ExpiryDate,this.ExpiryYear});
factory LoginProfile.fromJson(Map<String, dynamic> map) {
return LoginProfile(
id: map["id"],
CardNumber: map["CardNumber"],ExpiryDate: map["ExpiryDate"],ExpiryYear: map["ExpiryYear"]
);
}
Map<String, dynamic> toJson() {
return {"id": id,"CardNumber": CardNumber
,"ExpiryDate": ExpiryDate,"ExpiryYear": ExpiryYear};
}
@override
String toString() {
return 'Profile{id: $id, "CardNumber": CardNumber
,"ExpiryDate": ExpiryDate,"ExpiryYear": ExpiryYear}';
}
}
Future<bool> createProfile(LoginProfile data) async {
response = await client.post(
"$baseUrl",
headers: {'Content-Type': 'application/json; charset=UTF-8'},
body: loginProfileToJson(data),
);
if (response.statusCode == 201) {
return true;
} else {
print(response.body);
}
}
Я должен опубликовать свой JSON, как показано ниже:
{
"Registration": {
"CardNumber":"5105105105105100",
"ExpiryDate":"11",
"ExpiryYear":"2023",
"VerifyCode":"123"
}
}
По какой-то причине я не могу заставить это работать, и мне нужно опубликовать «Регистрация» в качестве объекта, как это выглядит выше.
Комментарии:
1. кодируйте свои данные json
2. Как? И Где?
Ответ №1:
Попробуйте использовать jsonEncode
Future<bool> createProfile(LoginProfile data) async {
response = await client.post(
"$baseUrl",
headers: {'Content-Type': 'application/json; charset=UTF-8'},
body: jsonEncode(loginProfileToJson(data)),
);
if (response.statusCode == 201 || response.statusCode == 200) {
return true;
} else {
print(response.body);
}
Комментарии:
1. Как мне разобрать «Регистрация»?
2. да, вы разберете регистрацию
3. Не могли бы вы, пожалуйста, отредактировать свой ответ на мой вопрос?
4. пожалуйста, ознакомьтесь с обновленным
createProfile
разделом5. Я использовал приведенный выше код, который вы добавили, но не получил никакого ответа.