mirror of
https://github.com/json-c/json-c.git
synced 2026-04-04 21:09:06 +08:00
Fix issue #201: add a JSON_C_TO_STRING_NOSLASHESCAPE flag to turn off escaping of forward slashes.
This commit is contained in:
@@ -57,6 +57,12 @@ int main(int argc, char **argv)
|
||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string));
|
||||
json_object_put(my_string);
|
||||
|
||||
my_string = json_object_new_string("/");
|
||||
printf("my_string=%s\n", json_object_get_string(my_string));
|
||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string));
|
||||
printf("my_string.to_string(NOSLASHESCAPE)=%s\n", json_object_to_json_string_ext(my_string, JSON_C_TO_STRING_NOSLASHESCAPE));
|
||||
json_object_put(my_string);
|
||||
|
||||
my_string = json_object_new_string("foo");
|
||||
printf("my_string=%s\n", json_object_get_string(my_string));
|
||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string));
|
||||
|
||||
@@ -2,6 +2,9 @@ my_string=
|
||||
my_string.to_string()="\t"
|
||||
my_string=\
|
||||
my_string.to_string()="\\"
|
||||
my_string=/
|
||||
my_string.to_string()="\/"
|
||||
my_string.to_string(NOSLASHESCAPE)="/"
|
||||
my_string=foo
|
||||
my_string.to_string()="foo"
|
||||
my_int=9
|
||||
|
||||
@@ -2,6 +2,9 @@ my_string=
|
||||
my_string.to_string()="\t"
|
||||
my_string=\
|
||||
my_string.to_string()="\\"
|
||||
my_string=/
|
||||
my_string.to_string()="\/"
|
||||
my_string.to_string(NOSLASHESCAPE)="/"
|
||||
my_string=foo
|
||||
my_string.to_string()="foo"
|
||||
my_int=9
|
||||
|
||||
@@ -2,6 +2,9 @@ my_string=
|
||||
my_string.to_string()="\t"
|
||||
my_string=\
|
||||
my_string.to_string()="\\"
|
||||
my_string=/
|
||||
my_string.to_string()="\/"
|
||||
my_string.to_string(NOSLASHESCAPE)="/"
|
||||
my_string=foo
|
||||
my_string.to_string()="foo"
|
||||
my_int=9
|
||||
|
||||
@@ -2,6 +2,9 @@ my_string=
|
||||
my_string.to_string()="\t"
|
||||
my_string=\
|
||||
my_string.to_string()="\\"
|
||||
my_string=/
|
||||
my_string.to_string()="\/"
|
||||
my_string.to_string(NOSLASHESCAPE)="/"
|
||||
my_string=foo
|
||||
my_string.to_string()="foo"
|
||||
my_int=9
|
||||
|
||||
@@ -226,6 +226,9 @@ struct incremental_step {
|
||||
{ "\"\\n\"", -1, -1, json_tokener_success, 0 },
|
||||
{ "\"\\r\"", -1, -1, json_tokener_success, 0 },
|
||||
{ "\"\\t\"", -1, -1, json_tokener_success, 0 },
|
||||
{ "\"\\/\"", -1, -1, json_tokener_success, 0 },
|
||||
// Escaping a forward slash is optional
|
||||
{ "\"/\"", -1, -1, json_tokener_success, 0 },
|
||||
|
||||
{ "[1,2,3]", -1, -1, json_tokener_success, 0 },
|
||||
|
||||
|
||||
@@ -61,10 +61,12 @@ json_tokener_parse_ex(tok, "\f" , 4) ... OK: got object of type [string
|
||||
json_tokener_parse_ex(tok, "\n" , 4) ... OK: got object of type [string]: "\n"
|
||||
json_tokener_parse_ex(tok, "\r" , 4) ... OK: got object of type [string]: "\r"
|
||||
json_tokener_parse_ex(tok, "\t" , 4) ... OK: got object of type [string]: "\t"
|
||||
json_tokener_parse_ex(tok, "\/" , 4) ... OK: got object of type [string]: "\/"
|
||||
json_tokener_parse_ex(tok, "/" , 3) ... OK: got object of type [string]: "\/"
|
||||
json_tokener_parse_ex(tok, [1,2,3] , 7) ... OK: got object of type [array]: [ 1, 2, 3 ]
|
||||
json_tokener_parse_ex(tok, [1,2,3,] , 8) ... OK: got object of type [array]: [ 1, 2, 3 ]
|
||||
json_tokener_parse_ex(tok, [1,2,,3,] , 9) ... OK: got correct error: unexpected character
|
||||
json_tokener_parse_ex(tok, [1,2,3,] , 8) ... OK: got correct error: unexpected character
|
||||
json_tokener_parse_ex(tok, {"a":1,} , 8) ... OK: got correct error: unexpected character
|
||||
End Incremental Tests OK=30 ERROR=0
|
||||
End Incremental Tests OK=32 ERROR=0
|
||||
==================================
|
||||
|
||||
Reference in New Issue
Block a user