NIM PC Cross Platform SDK
载入中...
搜索中...
未找到
nim_cpp_wrapper_util::Json::StreamWriterBuilder类 参考

Build a StreamWriter implementation. 更多...

#include <writer.h>

类 nim_cpp_wrapper_util::Json::StreamWriterBuilder 继承关系图:
nim_cpp_wrapper_util::Json::StreamWriter::Factory

Public 成员函数

 StreamWriterBuilder ()
 
 ~StreamWriterBuilder () override
 
StreamWriternewStreamWriter () const override
 
bool validate (nim_cpp_wrapper_util::Json::Value *invalid) const
 
Valueoperator[] (const String &key)
 
- Public 成员函数 继承自 nim_cpp_wrapper_util::Json::StreamWriter::Factory
virtual ~Factory ()
 
virtual StreamWriternewStreamWriter () const =0
 Allocate a CharReader via operator new().
 

静态 Public 成员函数

static void setDefaults (nim_cpp_wrapper_util::Json::Value *settings)
 

Public 属性

nim_cpp_wrapper_util::Json::Value settings_
 

详细描述

Build a StreamWriter implementation.

Usage:

using namespace Json;
Value value = ...;
builder["commentStyle"] = "None";
builder["indentation"] = " "; // or whatever you like
std::unique_ptr<nim_cpp_wrapper_util::Json::StreamWriter> writer(
builder.newStreamWriter());
writer->write(value, &std::cout);
std::cout << std::endl; // add lf and flush
Build a StreamWriter implementation.
Definition: writer.h:89
StreamWriter * newStreamWriter() const override
Definition: json_writer.cpp:1175
Represents a JSON value.
Definition: value.h:196

构造及析构函数说明

◆ StreamWriterBuilder()

nim_cpp_wrapper_util::Json::StreamWriterBuilder::StreamWriterBuilder ( )

◆ ~StreamWriterBuilder()

nim_cpp_wrapper_util::Json::StreamWriterBuilder::~StreamWriterBuilder ( )
overridedefault

成员函数说明

◆ newStreamWriter()

StreamWriter * nim_cpp_wrapper_util::Json::StreamWriterBuilder::newStreamWriter ( ) const
overridevirtual
异常
std::exceptionif something goes wrong (e.g. invalid settings)

实现了 nim_cpp_wrapper_util::Json::StreamWriter::Factory.

◆ operator[]()

Value & nim_cpp_wrapper_util::Json::StreamWriterBuilder::operator[] ( const String key)

A simple way to update a specific setting.

◆ setDefaults()

void nim_cpp_wrapper_util::Json::StreamWriterBuilder::setDefaults ( nim_cpp_wrapper_util::Json::Value settings)
static

Called by ctor, but you can use this to reset settings_.

前置条件
'settings' != NULL (but nim_cpp_wrapper_util::Json::null is fine)
备注
Defaults:

[StreamWriterBuilderDefaults]

[StreamWriterBuilderDefaults]

◆ validate()

bool nim_cpp_wrapper_util::Json::StreamWriterBuilder::validate ( nim_cpp_wrapper_util::Json::Value invalid) const
返回
true if 'settings' are legal and consistent; otherwise, indicate bad settings via 'invalid'.

类成员变量说明

◆ settings_

nim_cpp_wrapper_util::Json::Value nim_cpp_wrapper_util::Json::StreamWriterBuilder::settings_

Configuration of this builder. Available settings (case-sensitive):

  • "commentStyle": "None" or "All"
  • "indentation": "<anything>".
  • Setting this to an empty string also omits newline characters.
  • "enableYAMLCompatibility": false or true
  • slightly change the whitespace around colons
  • "dropNullPlaceholders": false or true
  • Drop the "null" string from the writer's output for nullValues. Strictly speaking, this is not valid JSON. But when the output is being fed to a browser's JavaScript, it makes for smaller output and the browser can handle the output just fine.
  • "useSpecialFloats": false or true
  • If true, outputs non-finite floating point values in the following way: NaN values as "NaN", positive infinity as "Infinity", and negative infinity as "-Infinity".
  • "precision": int
  • Number of precision digits for formatting of real values.
  • "precisionType": "significant"(default) or "decimal"
  • Type of precision for formatting of real values.

You can examine 'settings_` yourself to see the defaults. You can also write and read them just like any JSON Value.

参见
setDefaults()

该类的文档由以下文件生成: