Index: sdk/lib/json/json.dart |
diff --git a/sdk/lib/json/json.dart b/sdk/lib/json/json.dart |
index 5fd3a6ae20c0da9e60d0738eaa4e5959abbe91d7..48978ae9f7ff2a2b543e97b385f3b915b5d8c7b7 100644 |
--- a/sdk/lib/json/json.dart |
+++ b/sdk/lib/json/json.dart |
@@ -8,6 +8,8 @@ |
library dart.json; |
+import "dart:convert"; |
+ |
// JSON parsing and serialization. |
/** |
@@ -66,17 +68,12 @@ class JsonCyclicError extends JsonUnsupportedObjectError { |
* |
* Throws [FormatException] if the input is not valid JSON text. |
*/ |
-external parse(String json, [reviver(var key, var value)]); |
- |
-_parse(String json, reviver(var key, var value)) { |
- BuildJsonListener listener; |
- if (reviver == null) { |
- listener = new BuildJsonListener(); |
- } else { |
- listener = new ReviverJsonListener(reviver); |
+parse(String json, [reviver(var key, var value)]) { |
+ if (reviver != null) { |
+ var original = reviver; |
+ reviver = (key, value) => original(key == null ? "" : key, value); |
floitsch
2013/08/27 13:25:40
Again: let's make this in a separate CL.
Lasse Reichstein Nielsen
2013/08/28 08:02:59
Done.
|
} |
- new JsonParser(json, listener).parse(); |
- return listener.result; |
+ return JSON.decode(json, reviver: reviver); |
} |
/** |