- struct serialization_opts {
- explicit serialization_opts()
- : allow_non_string_keys(false)
- , javascript_safe(false)
- , pretty_formatting(false)
- , encode_non_ascii(false)
- , validate_utf8(false)
- , allow_trailing_comma(false)
- , sort_keys(false)
- , skip_invalid_utf8(false)
- , allow_nan_inf(false)
- , double_mode(double_conversion::DoubleToStringConverter::SHORTEST)
- , double_num_digits(0) // ignored when mode is SHORTEST
- {}
-
- // If true, keys in an object can be non-strings. (In strict
- // JSON, object keys must be strings.) This is used by dynamic's
- // operator<<.
- bool allow_non_string_keys;
-
- /*
- * If true, refuse to serialize 64-bit numbers that cannot be
- * precisely represented by fit a double---instead, throws an
- * exception if the document contains this.
- */
- bool javascript_safe;
-
- // If true, the serialized json will contain space and newlines to
- // try to be minimally "pretty".
- bool pretty_formatting;
-
- // If true, non-ASCII utf8 characters would be encoded as \uXXXX.
- bool encode_non_ascii;
-
- // Check that strings are valid utf8
- bool validate_utf8;
-
- // Allow trailing comma in lists of values / items
- bool allow_trailing_comma;
-
- // Sort keys of all objects before printing out (potentially slow)
- bool sort_keys;
-
- // Replace invalid utf8 characters with U+FFFD and continue
- bool skip_invalid_utf8;
-
- // true to allow NaN or INF values
- bool allow_nan_inf;
-
- // Options for how to print floating point values. See Conv.h
- // toAppend implementation for floating point for more info
- double_conversion::DoubleToStringConverter::DtoaMode double_mode;
- unsigned int double_num_digits;
- };
+struct serialization_opts {
+ explicit serialization_opts()
+ : allow_non_string_keys(false),
+ javascript_safe(false),
+ pretty_formatting(false),
+ encode_non_ascii(false),
+ validate_utf8(false),
+ allow_trailing_comma(false),
+ sort_keys(false),
+ skip_invalid_utf8(false),
+ allow_nan_inf(false),
+ double_mode(double_conversion::DoubleToStringConverter::SHORTEST),
+ double_num_digits(0), // ignored when mode is SHORTEST
+ double_fallback(false),
+ parse_numbers_as_strings(false),
+ recursion_limit(100) {}
+
+ // If true, keys in an object can be non-strings. (In strict
+ // JSON, object keys must be strings.) This is used by dynamic's
+ // operator<<.
+ bool allow_non_string_keys;