summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-01-23 18:36:28 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-01-23 18:41:29 +0200
commit444331c07f47488325986e375ea6b1838f06685d (patch)
treea7710c7af0f48b829e7afb43cc5acb6bfad5e679
parent1f04336b23088999ca572fac0b90bc25b954170c (diff)
modujson: .loads(): Handle more whitespace characters.
-rw-r--r--extmod/modujson.c3
-rw-r--r--tests/extmod/ujson_loads.py3
2 files changed, 6 insertions, 0 deletions
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}'))