J'essaie de charger un fichier JSON à partir d'une URL et d'analyser dans DART. J'avais donc essayé le code suivant comme suggéré de certains liens quand je vais pour cela:
HttpRequest.getString("hellknight2.js").then((response)
{
var model = new JSON.parse(response);
});
Cependant, il semble que cela ne fonctionne plus sur DART SDK version 0.4.3.5_R20602. Quelle est la meilleure façon actuelle d'obtenir un fichier JSON mappée sur un objet de Dart?
Utilisez simplement JSON du Dart:convert
paquet . Voici un exemple :
import 'Dart:convert';
main() {
final myJsonAsString = '{"a": 1, "b": "c"}';
final decoded = json.decode(myJsonAsString);
....
}
Voir PARSING JSON pour plus de détails.
dans mon cas
Json.decode
n'a pas fonctionné.
au lieu de cela que je devais utiliser :
import 'Dart:convert' as JSON;
final json=JSON.jsonDecode(myJsonAsString);
Cela dépend de beaucoup de choses.
Le texte JSON que vous obtenez est un tableau ou une carte?
Vous pouvez essayer avec:
Map model = new parse(response);
Ou
List model = new parse(response);
mais vous devez importer JSONObject de Chris Buckett dans votre colis
import "package:json_object/json_object.Dart";
Vous pouvez l'installer à partir de PUBSPEC en ajoutant cette dépendance.
json_object
voici ma solution :) Au début, vous devez importer:
import 'Dart:convert';
var res = json.decode(response.body);
ensuite, vous pouvez obtenir des valeurs par clé, comme ci-dessous:
print('res["message"]');
Il y a un nouveau paquet de pub pour cela:
Je ne l'ai pas utilisé mais me semble que cela vous suites. Essaye le