Converting object to an encodable object failed

You don’t need to add any libraries. You just have to implement fromJson and toJson functions in your object.

Example:

class LinkItem {
  final String name;
  final String url;

  LinkItem({this.name, this.url});

  LinkItem.fromJson(Map<String, dynamic> json)
      : name = json['n'],
        url = json['u'];

  Map<String, dynamic> toJson() {
    return {
      'n': name,
      'u': url,
    };
  }
}

Then you can call jsonEncode:

List<LinkItem> list = await getUserLinks();
list.add(linkItem);    
String json = jsonEncode(list);

Result:

  [{"n":"Google","u":"https://www.google.com/"},{"n":"Test","u":"https://www.test.com/"},{"n":"etc","u":"etc"}]

Leave a Comment