From: José Iván López González Date: Tue, 5 Nov 2019 16:01:30 +0000 (+0000) Subject: Escape line breaks in json X-Git-Tag: v0.8.6~10^2~2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=9dc6cf8dadb7af7478767aae06c8fb0160cdfe87;p=thirdparty%2Fsnapper.git Escape line breaks in json --- diff --git a/client/utils/JsonFormatter.cc b/client/utils/JsonFormatter.cc index 4fd81505..4da11f7a 100644 --- a/client/utils/JsonFormatter.cc +++ b/client/utils/JsonFormatter.cc @@ -48,6 +48,7 @@ namespace snapper boost::algorithm::replace_all(fixed_value, "\\", "\\\\"); boost::algorithm::replace_all(fixed_value, "\"", "\\\""); + boost::algorithm::replace_all(fixed_value, "\n", ""); return fixed_value; } diff --git a/testsuite/json-formatter.cc b/testsuite/json-formatter.cc index 74801b5f..6a6193be 100644 --- a/testsuite/json-formatter.cc +++ b/testsuite/json-formatter.cc @@ -17,6 +17,7 @@ BOOST_AUTO_TEST_CASE(test1_escape_values) { "key1", "value1" }, { "key2", "value\"2" }, { "key3", "value\\3" }, + { "key3", "value\n3" }, { "key4", "\"value4\"" } }; @@ -25,6 +26,7 @@ BOOST_AUTO_TEST_CASE(test1_escape_values) " \"key1\": \"value1\",\n" " \"key2\": \"value\\\"2\",\n" " \"key3\": \"value\\\\3\",\n" + " \"key3\": \"value3\",\n" " \"key4\": \"\\\"value4\\\"\"\n" "}"; @@ -37,13 +39,13 @@ BOOST_AUTO_TEST_CASE(test1_escape_values) BOOST_AUTO_TEST_CASE(test2_skip_format) { snapper::cli::JsonFormatter::Data data = { - { "key1", "value1" }, + { "key1", "true" }, { "key2", "value2" } }; string expected_result = "{\n" - " \"key1\": value1,\n" + " \"key1\": true,\n" " \"key2\": \"value2\"\n" "}";