The best way to parse a JSON in Dart

2020-02-10 02:35发布

I'm trying to load a json file from a URL and parse it within Dart. So I had tried the following code as suggested from some links when I google for it:

   HttpRequest.getString("hellknight2.js").then((response)
   {
     var model = new JSON.parse(response);
   });

However, it seems to not work anymore on Dart SDK version 0.4.3.5_r20602. What is the current best way to get a Json file mapped to an object in Dart?

标签: html dart
5条回答
够拽才男人
2楼-- · 2020-02-10 03:06

There's a new pub package for this:

Victor Savkin - Serializers.

I didn't use it but seems to me that it will suite you. Try it out

查看更多
干净又极端
3楼-- · 2020-02-10 03:13

It depends on a lot of things.

Is the json text you get is an array or a map?

You can try with:

Map model = new parse(response);

Or

List model = new parse(response);

but you need to import JSONObject by Chris Buckett into your package

import "package:json_object/json_object.dart";

You can install it from pubspec adding this dependency

json_object
查看更多
Explosion°爆炸
4楼-- · 2020-02-10 03:21

Simply use json of the dart:convert package. Here is an example :

import 'dart:convert';

main() {
  final myJsonAsString = '{"a": 1, "b": "c"}';
  final decoded = json.decode(myJsonAsString);
  ....
}

See Parsing JSON for more details.

查看更多
一夜七次
5楼-- · 2020-02-10 03:27

here is my solution :) At first you need to import :

     import 'dart:convert';

     var res = json.decode(response.body);

then you can get values by key, like belowe:

     print('res["message"]');
查看更多
▲ chillily
6楼-- · 2020-02-10 03:29

in my case

JSON.decode

didn't work.

Instead I had to use :

import 'dart:convert' as JSON;

final json=JSON.jsonDecode(myJsonAsString);
查看更多
登录 后发表回答