import 'dart:async'; import 'dart:convert'; import 'package:flutter/services.dart'; class RandomPickWord { RandomPickWord(); List _words; init(int count) async { _words = new List(count); await wordFromLocalFile(count); } Future<void> wordFromLocalFile(int count) async { // Get global words list List wordList = []; try { String jsonString = await rootBundle.loadString('assets/files/words-fr.json'); final jsonResponse = await json.decode(jsonString); wordList = jsonResponse['words']; } catch (e) { print("$e"); } // Check we have enough words if (wordList.length < count) { print('Not enough words in list.'); } // Remove empty words wordList.removeWhere((value) => value == ''); // Randomize words list wordList.shuffle(); // Pick first words from shuffled list _words = wordList.take(count).toList(); } List get words => _words; }