chrisbu / dartwatch-JsonObject

JsonObject which allows dot notation access to JSON.parse'd objects. Read the article on http://www.dartlang.org/articles/json-web-service/
http://www.dartlang.org/articles/json-web-service/
MIT License
83 stars 25 forks source link

print(list) throws exception #15

Closed adam-singer closed 11 years ago

adam-singer commented 11 years ago

Entering valid json formatted code will blow up on forEach invocations

library main;

import 'dart:html';
import "package:json_object/json_object.dart";
import "dart:json" as JSON;

class MyList extends JsonObject {
  MyList();

  factory MyList.fromString(String jsonString) {
    return new JsonObject.fromJsonString(jsonString, new MyList());
  }
}

void main() {
  MyList list = new MyList.fromString('[{"x":161,"y":37},{"x":143,"y":177}]');
  print(list[0]);
  print(list.length);
  print(list);
}
{"x":161,"y":37}
2
Exception: type '(String, Object) => dynamic' is not a subtype of type '(dynamic) => dynamic' of 'f'.
Stack Trace: #0      List.forEach (dart:core-patch:1108:16)
#1      JsonObject.forEach (http://127.0.0.1:3030/Users/adam/dart/dom_isolate/web/packages/json_object/json_object.dart:203:50)
#2      _JsonStringifier.stringifyJsonValue (dart:json:587:16)
#3      _JsonStringifier.stringifyValue (dart:json:534:29)
#4      _JsonStringifier.stringify (dart:json:473:31)
#5      stringify (dart:json:28:36)
#6      JsonObject.toString (http://127.0.0.1:3030/Users/adam/dart/dom_isolate/web/packages/json_object/json_object.dart:50:31)
#7      print (dart:core-patch:1751:29)
#8      main (http://127.0.0.1:3030/Users/adam/dart/dom_isolate/web/dom_isolate.dart:19:8)
chrisbu commented 11 years ago

Thanks for spotting that - I'll take a look

chrisbu commented 11 years ago

Fixed, closing