2014-09-27 11:42:27 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class JsonValue;
|
2014-09-27 11:53:26 +02:00
|
|
|
struct JsonNode;
|
2014-09-27 11:42:27 +02:00
|
|
|
|
|
|
|
class JsonObject
|
|
|
|
{
|
|
|
|
public:
|
2014-09-27 15:19:03 +02:00
|
|
|
JsonObject()
|
|
|
|
: _node(0)
|
|
|
|
{
|
|
|
|
}
|
2014-09-27 11:42:27 +02:00
|
|
|
|
2014-09-27 15:34:34 +02:00
|
|
|
JsonObject(JsonNode* node)
|
|
|
|
: _node(node)
|
2014-09-27 11:53:26 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-09-27 14:43:19 +02:00
|
|
|
size_t size();
|
2014-09-27 11:42:27 +02:00
|
|
|
|
2014-09-27 11:53:26 +02:00
|
|
|
JsonValue operator[](const char* key);
|
|
|
|
|
2014-09-27 15:19:03 +02:00
|
|
|
private:
|
2014-09-27 14:43:19 +02:00
|
|
|
JsonNode* _node;
|
2014-09-27 15:34:34 +02:00
|
|
|
|
2014-09-27 14:43:19 +02:00
|
|
|
JsonNode* getOrCreateNodeAt(char const* key);
|
2014-09-27 11:42:27 +02:00
|
|
|
};
|