Writes a Value in JSON format in a human friendly way.
More...
#include <writer.h>
|
using | ChildValues = std::vector< String > |
|
|
void | writeValue (const Value &value) |
|
void | writeArrayValue (const Value &value) |
|
bool | isMultilineArray (const Value &value) |
|
void | pushValue (const String &value) |
|
void | writeIndent () |
|
void | writeWithIndent (const String &value) |
|
void | indent () |
|
void | unindent () |
|
void | writeCommentBeforeValue (const Value &root) |
|
void | writeCommentAfterValueOnSameLine (const Value &root) |
|
|
static bool | hasCommentForValue (const Value &value) |
|
static String | normalizeEOL (const String &text) |
|
|
ChildValues | childValues_ |
|
String | document_ |
|
String | indentString_ |
|
unsigned int | rightMargin_ {74} |
|
unsigned int | indentSize_ {3} |
|
bool | addChildValues_ {false} |
|
Writes a Value in JSON format in a human friendly way.
The rules for line break and indent are as follow:
- Object value:
- if empty then print {} without indent and line break
- if not empty the print '{', line break & indent, print one value per line and then unindent and line break and print '}'.
- Array value:
- if empty then print [] without indent and line break
- if the array contains no object value, empty array or some other value types, and all the values fit on one lines, then print the array on a single line.
- otherwise, it the values do not fit on one line, or the array contains object or non empty array, then print one value per line.
If the Value have comments then they are outputted according to their CommentPlacement.
- See also
- Reader, Value, Value::setComment()
- Deprecated:
- Use StreamWriterBuilder.
◆ write()
String Json::StyledWriter::write |
( |
const Value & |
root | ) |
|
|
overridevirtual |
Serialize a Value in JSON format.
- Parameters
-
- Returns
- String containing the JSON document that represents the root value.
Implements Json::Writer.
The documentation for this class was generated from the following file: