aboutsummaryrefslogtreecommitdiff
path: root/libbutl/json/serializer.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-03-02 16:27:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-03-02 16:29:07 +0200
commit8e2422a0022f5bd8e7d1fe8d1ca7b259451869ea (patch)
treec38883281d99ba6a91085208fd37b4a8f535a63c /libbutl/json/serializer.ixx
parent152ea943395822f55591eadaf8e0f5aac263db5e (diff)
Add ability to serialize pre-serialized JSON valuejson-raw
Diffstat (limited to 'libbutl/json/serializer.ixx')
-rw-r--r--libbutl/json/serializer.ixx15
1 files changed, 15 insertions, 0 deletions
diff --git a/libbutl/json/serializer.ixx b/libbutl/json/serializer.ixx
index 5b2c173..50fe397 100644
--- a/libbutl/json/serializer.ixx
+++ b/libbutl/json/serializer.ixx
@@ -151,6 +151,21 @@ namespace butl
next (event::null);
}
+ inline void buffer_serializer::
+ value_json_text (const char* v)
+ {
+ // Use event::number (which doesn't involve any quoting) with a disabled
+ // check.
+ //
+ next (event::number, {v, strlen (v)}, false /* check */);
+ }
+
+ inline void buffer_serializer::
+ value_json_text (const std::string& v)
+ {
+ next (event::number, {v.c_str (), v.size ()}, false /* check */);
+ }
+
inline size_t buffer_serializer::
to_chars (char* b, size_t s, int v)
{