WebPredictionResult.fromJson constructor

WebPredictionResult.fromJson(
  1. Map<String, dynamic> json
)

Creates a WebPredictionResult from a JSON map.

Used for deserializing prediction results from API responses. Handles the conversion of probability values to ensure they are doubles.

Example:

final json = {
  'id': 'pred_123',
  'scientific_name': 'Aedes aegypti',
  'probabilities': {
    'Aedes aegypti': 0.87,
    'Aedes albopictus': 0.08,
  },
  'model_id': 'culico-net-cls-v1',
  'confidence': 0.87,
};
final result = WebPredictionResult.fromJson(json);

Implementation

factory WebPredictionResult.fromJson(Map<String, dynamic> json) {
  return WebPredictionResult(
    id: json['id'] as String,
    scientificName: json['scientific_name'] as String,
    // Safely cast the map values to double
    probabilities: (json['probabilities'] as Map<String, dynamic>).map(
      (key, value) => MapEntry(key, (value as num).toDouble()),
    ),
    modelId: json['model_id'] as String,
    confidence: (json['confidence'] as num).toDouble(),
    imageUrlSpecies: json['image_url_species'] as String?,
  );
}