In some cases, there is a trivial one-to-one mapping between a Javascript object and it's JSON serialization.
This is not the case in Dart for a number of reasons.
Many folks are happy with the solution we have – here's an example: https://github.com/dart-lang/json_serializable/tree/master/e...
We're certainly interested in making this better in the future, but as Bob said (https://news.ycombinator.com/item?id=16441665) we're very focused on finishing Dart 2 first.