web-dev-qa-db-ja.com

DartでJSONを解析する最良の方法

URLからjsonファイルをロードして、Dart内で解析しようとしています。だから私はそれをググるときにいくつかのリンクから示唆されているように次のコードを試しました:

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

ただし、Dart SDKバージョン0.4.3.5_r20602では動作しないようです。 JsonファイルをDartのオブジェクトにマッピングする現在の最良の方法は何ですか?

20
Fernando

Dart:convertパッケージjson を使用するだけです。次に例を示します。

import 'Dart:convert';

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

詳細については、 JSONの解析 を参照してください。

18

私の場合

JSON.decode

うまくいきませんでした。

代わりに:を使用する必要がありました

import 'Dart:convert' as JSON;

final json=JSON.jsonDecode(myJsonAsString);
4
Julien

それは多くのものに依存します。

取得したjsonテキストは配列ですか、マップですか?

あなたは試すことができます:

Map model = new parse(response);

または

List model = new parse(response);

JSONObject by Chris Buckett をパッケージにインポートする必要があります

import "package:json_object/json_object.Dart";

この依存関係を追加してpubspecからインストールできます

json_object
2
DaviDeMo

ここに私の解決策があります:)最初にインポートする必要があります:

     import 'Dart:convert';

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

次に、以下のようにキーで値を取得できます。

     print('res["message"]');
1
Irakli Kardava

このための新しいpubパッケージがあります。

Victor Savkin-Serializers

私はそれを使用しませんでしたが、それはあなたに合うように思えます。やってみよう

1
Jasper