【发布时间】:2019-12-25 02:00:47
【问题描述】:
我对 Flutter 和整个编程非常陌生,正在寻求帮助。我有一些当前以 JSON 格式正确发布的代码,但我希望它以数组的形式发布,我不确定如何执行此操作。
我已经看到并尝试了一些不同的解决方案,但我不确定如何将它们实现到我的代码中以使其正常工作。
import 'package:http/http.dart' as http;
import 'dart:async';
import 'dart:convert';
import 'package:intl/intl.dart';
import 'contact.dart';
class ContactService {
static const _serviceUrl = 'https://******.com/';
static final _headers = {'Content-Type': 'application/json'};
Future<Contact> createContact(Contact contact) async {
try {
String json = _toJson(contact);
final response =
await http.post(_serviceUrl, headers: _headers, body: json);
var c = _fromJson(response.body);
return c;
} catch (e) {
print('Server Exception!!!');
print(e);
return null;
}
}
Contact _fromJson(String json) {
Map<String, dynamic> map = jsonDecode(json);
var contact = new Contact();
contact.firstName = map['First Name'];
contact.lastName = map ['Last Name'];
contact.dob = new DateFormat.yMd().parseStrict(map['dob']);
contact.phone = map['phone'];
contact.email = map['email'];
contact.gender = map['gender'];
return contact;
}
String _toJson(Contact contact) {
var mapData = new Map();
mapData["first_name"] = contact.firstName;
mapData["last_name"] = contact.lastName;
mapData["dob"] = new DateFormat.yMd().format(contact.dob);
mapData["phone"] = contact.phone;
mapData["email"] = contact.email;
mapData["gender"] = contact.gender;
String json = jsonEncode(mapData);
return json;
}
}
其他库文件(contact.dart):
class Contact {
String firstName;
String lastName;
DateTime dob;
String phone = '';
String email = '';
String gender = '';
我希望它以 JSON 数组的形式发布到我的 URL,而不仅仅是一行 JSON 代码。
【问题讨论】: