次のコードは、未処理の例外をスローします。
Map map = JSON.parse("{'foo':1}");
var debug = map["foo"];
print("$debug");
JSON 仕様の 2.5 章には、次のように記載されています。
string = quotation-mark *char quotation-mark
...
quotation-mark = %x22 ; "
...
JSON の文字列は有効な JSON 文字列のように見える必要"..."
があり、そうではないことを意味します。'...'
Dart の JSON パーサーでは、仕様に準拠する必要があります。