13 #include <pv/pvdVersion.h>
14 #include <pv/pvData.h>
16 #ifdef epicsExportSharedSymbols
17 # define pvjson_epicsExportSharedSymbols
18 # undef epicsExportSharedSymbols
21 #include <yajl_parse.h>
23 #ifdef pvjson_epicsExportSharedSymbols
24 # define epicsExportSharedSymbols
25 # include "shareLib.h"
30 namespace epics{
namespace pvData{
41 struct epicsShareClass JSONPrintOptions
73 const PVField::const_shared_pointer& val,
111 const PVField::shared_pointer& dest,
136 #ifndef EPICS_YAJL_VERSION
137 typedef long integer_arg;
138 typedef unsigned size_arg;
140 typedef long long integer_arg;
141 typedef size_t size_arg;
bool json5
Output extended JSON (eg. NaN).
unsigned indent
Initial indentation (# of spaces)
bool yajl_parse_helper(std::istream &src, yajl_handle handle)
Data interface for a structure,.
bool ignoreUnprintable
ignore union/union array when encountered
bool multiLine
include new lines
Options used during printing.
PVField is the base class for each PVData field.
void printJSON(std::ostream &strm, const PVStructure &val, const BitSet &mask, const JSONPrintOptions &opts=JSONPrintOptions())
PVStructure::shared_pointer parseJSON(std::istream &strm)