diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp index 07a9c38f0..689728e67 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp @@ -163,6 +163,11 @@ ecma_builtin_json_parse_string (ecma_json_token_t *token_p) /**< token argument *current_p = '\t'; break; } + case 'b': + { + *current_p = '\b'; + break; + } default: { return; diff --git a/tests/jerry/json-parse.js b/tests/jerry/json-parse.js index 0c3252b76..c15ad599e 100644 --- a/tests/jerry/json-parse.js +++ b/tests/jerry/json-parse.js @@ -38,6 +38,8 @@ str = '-32.5e002'; assert (JSON.parse (str) == -3250); str = '"str"'; assert (JSON.parse (str) == "str"); +str = '"\\b\\f\\n\\t\\r"' +assert (JSON.parse (str) === "\b\f\n\t\r"); check_parse_error ('undefined'); check_parse_error ('falses');