fromJson<T> method

T fromJson <T>(String json)

Gets invoked for core types and for unknown ones having no explicit write method specified.

Implementation

static T fromJson<T>(String json) {
  if (T == String) return json as T;

  try {
    var classMirror = reflectClass(T);
    var instanceMirror = classMirror
        .newInstance(Symbol('fromJson'), <dynamic>[jsonDecode(json)]);
    T instance = instanceMirror.reflectee;
    return instance;
  } on NoSuchMethodError {
    return jsonDecode(json) as T;
  }
}