| Index: lib/json/json.dart
|
| ===================================================================
|
| --- lib/json/json.dart (revision 7522)
|
| +++ 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();
|
| + assert(p.position <= p.length);
|
| + return p.position;
|
| + } catch (var e) {
|
| + return 0;
|
| + }
|
| + }
|
| +
|
| _JsonParser._internal(String json)
|
| : json = json,
|
| length = json.length {
|
|
|