2012-01-23 32 views
10

ダーツがJSONをどのように処理するのだろうか?具体的には:ダーツでJSONを処理する方法

  1. JSONオブジェクトの項目にアクセスすることはできますか?
  2. SetやMapsなどのDartsデータ構造をJSONに変換できますか?
  3. JSON.parseを呼び出すだけで、新しいJSONを作成できますか?
  4. 新しいアイテムをJSONに追加するにはどうすればよいですか?

答えて

14

あなたは興味深い私のこの記事を見つけるかもしれない: http://www.grobmeier.de/dart-creating-a-dynamic-list-with-dart-php-and-json-20112011.html

あなたが(pubspec.yamlするJSONを追加)JSONパッケージを使用する必要があります。ここでは

import 'package:json/json.dart'; 

は応じスペックです。ご質問 https://api.dartlang.org/docs/channels/stable/latest/json.html

  1. 以下を使用できます。リスト結果= JSON.parse(jsonData);
  2. stringifyを使用すると、たとえばJSONへのマップ
  3. この問題についてはわかりません。次のようにすることができます:JSON.parse( '{key: "value"}'));か何かその
  4. のようにあなたは、おそらく解析を使用してJSONのうち、地図を作成する必要があり、その後、あなたの項目を追加し、クリスチャンのように
+5

最近のバージョンのDart(v0.7.xなど)では、 'dart:convert'ライブラリを使用する必要があります。 JSON.decode()とJSON.encode()メソッド(パフォーマンスが向上)を提供します。参照してください:http://api.dartlang.org/docs/releases/latest/dart_convert.html – CedX

7

を文字列化呼び出し、あるかもしれない私のdartwatch blog上で同様のポストもあります有用。

+1

ああ、通常、私はこの記事への参照を追加します。私に思い出させてくれてありがとう。 – Christian

+1

これは更新されたリンクですか? http://www.dartlang.org/articles/json-web-service/ –

8

dart:convertライブラリによって提供されるJSONプロパティを使用できます。

import 'dart:convert' show JSON; 

main() { 
    var encoded = JSON.encode([1, 2, { "a": null }]); 
    var decoded = JSON.decode('["foo", { "bar": 499 }]'); 
} 
関連する問題