You've got that right. My problem is that you framed your thread title and general discussion so that it implies that Dart is lacking in JSON support. It's not; Dart's JSON support is better than or on par with almost all other languages out there (including JavaScript). The problem for you is that it lacks a certain style of JSON support, which I think you'll find a hard time arguing why it's basic functionality.
> I didn't put it there, the people did.
Come on. You submitted it, and did not want it on the front page?
> That's the whole point - there is no sensible way to implement this from the outside; that's the whole point of my thread. All of the ways of achieving this suck for one reason or another. Doing this well needs better support from the language/Dart tools.
Yes there is. Dart's reflection APIs are more than adequate for you to implememt such a thing. Reflection is the way to go in these statically typed languages; it's how Java libraries do it, and it's how C# does it. It's the only way to dynamically construct classes.
> I've still yet to see anyone anywhere post a small code sample showing a Dart class and some simply JSON that works, without a hand-coded mapping from a Map. Is this really what we should be spending our time doing using Google's "new language for the web"?
If you choose to spend your time on that, that's your choice. Why do you find it necessary? Do you really want to use a web service as an ORM?
Web applications come with no obligation to have a direct JSON <-> typesafe class mapping. Such mappings are ill-defined and bug prone if done automatically or with runtime reflection, and open to different styles of implementation. I don't think it's the job of the core library to solve that problem for you, not if it already allows you to work with JSON in other ways. Many people are fine to just use the Maps without the unjustified pretense of type safety, and other people are fine with manual mapping and validation. Considering the problems of reflective mapping and the availability of plenty of other solutions, I think you are being overzealous in your complaining.