File Information
Library: Util
Package: Util
Header: Poco/Util/JSONConfiguration.h
Description
This configuration class extracts configuration properties from a JSON object. An XPath-like syntax for property names is supported to allow full access to the JSON object.
Given the following JSON object as an example: {
"config" : {
   "prop1" : "value1",
   "prop2" : 10,
   "prop3" : [
     "element1",
     "element2"
   ],
   "prop4" : {
     "prop5" : false,
     "prop6" : null
   }
}
} The following property names would be valid and would yield the shown values:
config.prop1 --> "value1" config.prop3[1] --> "element2" config.prop4.prop5 --> false
Inheritance
Direct Base Classes: AbstractConfiguration
All Base Classes: Poco::RefCountedObject, AbstractConfiguration
Member Summary
Member Functions: enumerate, getRaw, load, loadEmpty, removeRaw, save, setBool, setDouble, setInt, setRaw, setString
Inherited Functions: createView, duplicate, enableEvents, enumerate, eventsEnabled, expand, getBool, getDouble, getInt, getInt16, getInt32, getInt64, getRaw, getRawString, getString, getUInt, getUInt16, getUInt32, getUInt64, has, hasOption, hasProperty, keys, parseBool, parseInt, parseInt16, parseInt64, parseUInt, parseUInt16, parseUInt64, referenceCount, release, remove, removeRaw, setBool, setDouble, setInt, setInt16, setInt32, setInt64, setRaw, setRawWithEvent, setString, setUInt, setUInt16, setUInt32, setUInt64
Constructors
JSONConfiguration
Creates an empty configuration
JSONConfiguration
JSONConfiguration(
    const std::string & path
);
Creates a configuration and loads the JSON structure from the given file
JSONConfiguration
JSONConfiguration(
    std::istream & istr
);
Creates a configuration and loads the JSON structure from the given stream
JSONConfiguration
JSONConfiguration(
    const JSON::Object::Ptr & object
);
Creates a configuration from the given JSON object
Destructor
~JSONConfiguration 
 
virtual ~JSONConfiguration();
Destructor
Member Functions
load
void load(
    const std::string & path
);
Loads the configuration from the given file
load
void load(
    std::istream & istr
);
Loads the configuration from the given stream
loadEmpty
void loadEmpty(
    const std::string & root
);
Loads an empty object containing only a root object with the given name.
removeRaw 
 
virtual void removeRaw(
    const std::string & key
);
save
void save(
    std::ostream & ostr,
    unsigned int indent = 2
) const;
Saves the configuration to the given stream
setBool 
 
virtual void setBool(
    const std::string & key,
    bool value
);
setDouble 
 
virtual void setDouble(
    const std::string & key,
    double value
);
setInt 
 
virtual void setInt(
    const std::string & key,
    int value
);
setString 
 
virtual void setString(
    const std::string & key,
    const std::string & value
);
enumerate 
  
 
void enumerate(
    const std::string & key,
    Keys & range
) const;
getRaw 
  
 
bool getRaw(
    const std::string & key,
    std::string & value
) const;
setRaw 
  
 
void setRaw(
    const std::string & key,
    const std::string & value
);