JsonCpp project page Classes Namespace JsonCpp home page

Json::StyledWriter Class Reference

Writes a Value in JSON format in a human friendly way. More...

#include <json/writer.h>

+ Inheritance diagram for Json::StyledWriter:
+ Collaboration diagram for Json::StyledWriter:

Public Member Functions

 StyledWriter ()
 
 ~StyledWriter () override=default
 
String write (const Value &root) override
 Serialize a Value in JSON format.
 
- Public Member Functions inherited from Json::Writer
virtual ~Writer ()
 

Detailed Description

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 outputed according to their CommentPlacement.

See also
Reader, Value, Value::setComment()
Deprecated
Use StreamWriterBuilder.

Definition at line 230 of file writer.h.

Constructor & Destructor Documentation

◆ StyledWriter()

Json::StyledWriter::StyledWriter ( )
default

◆ ~StyledWriter()

Json::StyledWriter::~StyledWriter ( )
overridedefault

Member Function Documentation

◆ write()

String Json::StyledWriter::write ( const Value & root)
overridevirtual

Serialize a Value in JSON format.

Parameters
rootValue to serialize.
Returns
String containing the JSON document that represents the root value.

Implements Json::Writer.

Definition at line 439 of file json_writer.cpp.


The documentation for this class was generated from the following files: