Парсинг двойных значений из JSON в Flutter и Dart - PullRequest
0 голосов
/ 20 января 2019

У меня проблемы, когда я пытаюсь получить двойные значения из JSON в Flutter.

class MapPoint {
  String title;
  double lat;
  double lng;

  MapPoint({this.title, this.lat, this.lng});

  factory MapPoint.fromJson(Map<String, dynamic> json) {
    return MapPoint(
        title: json["title"] as String,
        lat: json["lat"] as double,
        lng: json["lng"] as double
    );
  }
}

Почему-то я получил ошибку

Ошибка дротика: необработанное исключение: тип 'double' не является подтипом наберите 'String'

Я попробовал некоторые для пользователя double.parse(json["lng"]), но получил ту же ошибку.
В то же время этот способ получения данных из JSON отлично работает с другими типами.

Это пример JSON

{ 
   point: {
     title: "Point title",
     lat: 42.123456,
     lng: 32.26567
  }
}

1 Ответ

0 голосов
/ 20 января 2019

не могу воспроизвести

void main() {
  final json = {
    "point": {"title": "Point title", "lat": 42.123456, "lng": 32.26567}
  };
  final p = MapPoint.fromJson(json);
  print(p);
}

class MapPoint {
  String title;
  double lat;
  double lng;

  MapPoint({this.title, this.lat, this.lng});

  factory MapPoint.fromJson(Map<String, dynamic> json) {
    return MapPoint(
        title: json["title"] as String,
        lat: json["lat"] as double,
        lng: json["lng"] as double);
  }
}
...