Chromium Code Reviews| Index: lib/json/json.dart |
| =================================================================== |
| --- lib/json/json.dart (revision 7627) |
| +++ lib/json/json.dart (working copy) |
| @@ -18,6 +18,15 @@ |
| } |
| /** |
| + * Checks validity of JSON source in [:str:] and returns its text |
| + * length. Returns 0 if [:str:] does not begin with a valid JSON |
| + * object. |
| + */ |
| + static int length(String str) { |
| + return _JsonParser.objectLength(str); |
| + } |
| + |
| + /** |
| * Serializes [:object:] into JSON string. |
| */ |
| static String stringify(Object object) { |
| @@ -96,6 +105,17 @@ |
| return new _JsonParser._internal(json)._parseToplevel(); |
| } |
| + static objectLength(String str) { |
| + var p = new _JsonParser._internal(str); |
| + try { |
| + p._parseObject(); |
|
Anton Muhin
2012/05/15 15:17:56
I am not sure it's valid implementation: _parseObj
hausner
2012/05/15 15:32:56
Nice catch! Thank you for taking a look. I'll fix
|
| + assert(p.position <= p.length); |
| + return p.position; |
| + } catch (var e) { |
| + return 0; |
| + } |
| + } |
| + |
| _JsonParser._internal(String json) |
| : json = json, |
| length = json.length { |