1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #include <stddef.h>
- #include <stdint.h>
- #include <functional>
- #include <string>
- #include <vector>
- #include <unordered_map>
- namespace microjson {
- enum JsonType {
- JsonNumberType,
- JsonStringType,
- JsonBoolType,
- JsonObjectType,
- JsonArrayType,
- JsonInvalidType
- };
- struct JsonValue {
- JsonValue() : type(JsonInvalidType) {}
- JsonValue(const std::string &_value, JsonType _type) :
- value(_value)
- , type(_type) {}
- std::string value;
- JsonType type;
- };
- using JsonObject = std::unordered_map<std::string, JsonValue>;
- using JsonArray = std::vector<JsonValue>;
- extern JsonArray parseJsonArray(const char *buffer, size_t size);
- extern JsonObject parseJsonObject(const char *buffer, size_t size);
- }
|