From 444331c07f47488325986e375ea6b1838f06685d Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 23 Jan 2015 18:36:28 +0200 Subject: [PATCH] modujson: .loads(): Handle more whitespace characters. --- extmod/modujson.c | 3 +++ tests/extmod/ujson_loads.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/extmod/modujson.c b/extmod/modujson.c index 70daf8104..5023d8151 100644 --- a/extmod/modujson.c +++ b/extmod/modujson.c @@ -81,6 +81,9 @@ STATIC mp_obj_t mod_ujson_loads(mp_obj_t obj) { case ',': case ':': case ' ': + case '\t': + case '\n': + case '\r': s += 1; goto cont; case 'n': diff --git a/tests/extmod/ujson_loads.py b/tests/extmod/ujson_loads.py index 187917f82..05bd62a9b 100644 --- a/tests/extmod/ujson_loads.py +++ b/tests/extmod/ujson_loads.py @@ -30,3 +30,6 @@ my_print(json.loads('{}')) my_print(json.loads('{"a":true}')) my_print(json.loads('{"a":null, "b":false, "c":true}')) my_print(json.loads('{"a":[], "b":[1], "c":{"3":4}}')) + +# whitespace handling +my_print(json.loads('{\n\t"a":[]\r\n, "b":[1], "c":{"3":4} \n\r\t\r\r\r\n}'))