Files
squeezelite-esp32/components/spotify/cspot/bell/src/JSONObject.cpp
Philippe G 898998efb0 big merge
2021-12-18 21:04:23 -08:00

45 lines
901 B
C++

#include "JSONObject.h"
#include <stdlib.h>
bell::JSONValue::JSONValue(cJSON *body, std::string key)
{
this->body = body;
this->key = key;
}
void bell::JSONValue::operator=(const std::string val)
{
this->operator=(val.c_str());
}
void bell::JSONValue::operator=(const char *val)
{
cJSON_AddStringToObject(this->body, this->key.c_str(), val);
}
void bell::JSONValue::operator=(int val)
{
cJSON_AddNumberToObject(this->body, this->key.c_str(), val);
}
bell::JSONObject::JSONObject()
{
this->body = cJSON_CreateObject();
}
bell::JSONObject::~JSONObject()
{
cJSON_Delete(this->body);
}
bell::JSONValue bell::JSONObject::operator[](std::string index)
{
return bell::JSONValue(this->body, index);
}
std::string bell::JSONObject::toString()
{
char *body = cJSON_Print(this->body);
std::string retVal = std::string(body);
free(body);
return retVal;
}