JsonCpp project page | JsonCpp home page

Public Member Functions | List of all members
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 ()
std::string | write (const Value &root)
| Serialize a Value in JSON format. More...
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 212 of file writer.h.

## Constructor & Destructor Documentation

## ◆ StyledWriter()

Json::StyledWriter::StyledWriter | ( |  | ) |

Definition at line 401 of file json_writer.cpp.

## ◆ ~StyledWriter()

Json::StyledWriter::~StyledWriter | ( |  | ) |
| inline

Definition at line 215 of file writer.h.

References JSONCPP_OVERRIDE, and JSONCPP_STRING.

## Member Function Documentation

## ◆ write()

std::string Json::StyledWriter::write | ( | const Value & | root | ) |
| virtual

Serialize a Value in JSON format.

Parameters

  root | Value to serialize.

Returns
  String containing the JSON document that represents the root value.

Implements Json::Writer.

Definition at line 404 of file json_writer.cpp.

References Json::arrayValue, Json::Value::asBool(), Json::Value::asDouble(), Json::Value::asLargestInt(), Json::Value::asLargestUInt(), Json::booleanValue, Json::commentAfter, Json::commentAfterOnSameLine, Json::commentBefore, Json::Value::getComment(), Json::Value::getMemberNames(), Json::Value::getString(), Json::Value::hasComment(), Json::intValue, Json::Value::isArray(), Json::Value::isObject(), JSONCPP_STRING, Json::nullValue, Json::objectValue, Json::realValue, Json::Value::size(), Json::stringValue, Json::Value::type(), Json::uintValue, Json::valueToQuotedString(), Json::valueToQuotedStringN(), and Json::valueToString().

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

- include/json/writer.h
- src/lib_json/json_writer.cpp