81 for (
int i = 0; i < nCount; i++) {
85 num = std::to_string(a[i]);
106 std::string str = std::string(
"\"") + name +
"\": " + std::to_string(v);
141 std::string str = std::string(
"\"") + name +
"\": \"" +
fixJsonString(v.c_str()) +
"\"";
148 std::string str = std::string(
"\"") + name +
"\": \"" +
fixJsonString(v) +
"\"";
156 std::string str = std::string(
"\"") + name +
"\": \"" +
fixJsonString(v) +
"\"";
161std::string
valueToJson(
const char* name,
const char* v,
bool& bPreviousLine)
170 bPreviousLine =
true;
202 value = j.get<std::string>();
212 if (j.is_boolean()) {
213 value = j.get<
bool>();
216 else if (j.is_number_float()) {
219 value = j.get<
float>() > 0.5;
222 else if (j.is_number_integer()) {
223 value = j.get<
int>() != 0;
226 else if (j.is_number_unsigned()) {
227 value = j.get<
unsigned>() != 0;
247 for (
int i = 0; e != v.end() && i < n; e++, i++) {
248 if (e->is_number()) {
249 vals[i] = e->get<T>();
253 return nValid == v.size();
274 size_t nSize = v.size();
278 for (
int i = 0; e != v.end(); e++, i++) {
279 if (e->is_string()) {
280 vals[i] = e->get<std::string>();
287 return nValid == nSize;
296 size_t nSize = v.size();
299 for (
int i = 0; e != v.end(); e++, i++) {
300 if (e->is_string()) {
301 vals.push_back(e->get<std::string>());
305 return nValid == nSize;
315 size_t nSize = v.size();
319 for (
int i = 0; e != v.end(); e++, i++) {
320 if (e->is_number()) {
328 return nValid == v.size();
348 if (j.is_string() && nSize>0) {
349 std::string val = j.get<std::string>();
350 strncpy(str, val.c_str(), nSize);
372bool saveJsonAs(
const json& j,
const char* szFname,
int indent)
381 if (szFname && szFname[0])
382 f = fopen(szFname,
"wb");
387 std::string str = j.dump(indent);
389 if (fwrite((
void*)(str.c_str()), 1, (
unsigned long)str.size(), f) == (
long)str.size())
404 FILE* f = fopen(szFname,
"rb");
406 fseek(f, 0, SEEK_END);
407 unsigned long flen = ftell(f);
408 fseek(f, 0, SEEK_SET);
409 char* buf = (
char*)malloc(flen+1);
413 if (fread(buf, 1, flen, f) == flen) {
415 j = json::parse(buf);
template bool jsonToValue< icUInt16Number >(const json &, icUInt16Number &)
template std::string arrayToJson< icUInt32Number >(icUInt32Number *, int)
bool loadJsonFrom(json &j, const char *szFname)
bool jsonToArray(const json &v, T *vals, int n)
template bool jsonToValue< int >(const json &, int &)
template bool jsonToArray< icInt32Number >(const json &, icInt32Number *, int)
template std::string valueToJson< double >(const char *, double)
template bool jsonToValue< icUInt64Number >(const json &, icUInt64Number &)
template bool jsonToArray< icInt16Number >(const json &, icInt16Number *, int)
template std::string arrayToJson< icUInt16Number >(icUInt16Number *, int)
std::string valueToJson(const char *name, T v)
template std::string valueToJson< int >(const char *, int)
template std::string arrayToJson< icInt32Number >(icInt32Number *, int)
template std::string valueToJson< icUInt8Number >(const char *, icUInt8Number)
template bool jsonToValue< icInt32Number >(const json &, icInt32Number &)
bool jsonToList(const json &v, std::list< std::string > &vals)
template bool jsonToArray< icUInt8Number >(const json &, icUInt8Number *, int)
template std::string arrayToJson< icInt16Number >(icInt16Number *, int)
template std::string arrayToJson< icUInt8Number >(icUInt8Number *, int)
template bool jsonToValue< float >(const json &, float &)
template bool jsonToValue< icInt64Number >(const json &, icInt64Number &)
bool jsonToColorSpace(const json &j, icColorSpaceSignature &sig)
template bool jsonToArray< icInt8Number >(const json &, icInt8Number *, int)
std::string arrayToJson(T *a, int nCount)
template bool jsonToValue< icInt8Number >(const json &, icInt8Number &)
std::string fixJsonString(const char *v)
template std::string arrayToJson< icInt64Number >(icInt64Number *, int)
template bool jsonToArray< float >(const json &, float *, int)
template std::string arrayToJson< icUInt64Number >(icUInt64Number *, int)
template std::string valueToJson< unsigned int >(const char *, unsigned int)
bool jsonToValue(const json &j, T &nValue)
template bool jsonToValue< double >(const json &, double &)
template std::string valueToJson< float >(const char *, float)
template std::string valueToJson< icInt16Number >(const char *, icInt16Number)
template bool jsonToArray< icInt64Number >(const json &, icInt64Number *, int)
template bool jsonToArray< icUInt64Number >(const json &, icUInt64Number *, int)
template std::string valueToJson< icUInt16Number >(const char *, icUInt16Number)
template bool jsonToValue< unsigned int >(const json &, unsigned int &)
bool saveJsonAs(const json &j, const char *szFname, int indent)
template bool jsonToArray< icUInt16Number >(const json &, icUInt16Number *, int)
template std::string valueToJson< icInt32Number >(const char *, icInt32Number)
template bool jsonToArray< double >(const json &, double *, int)
template bool jsonToValue< icInt16Number >(const json &, icInt16Number &)
template std::string valueToJson< icInt64Number >(const char *, icInt64Number)
template std::string valueToJson< icInt8Number >(const char *, icInt8Number)
template bool jsonToValue< icUInt8Number >(const json &, icUInt8Number &)
template std::string arrayToJson< icInt8Number >(icInt8Number *, int)
bool jsonToCStr(const json &j, char *str, int nSize)
template std::string valueToJson< icUInt32Number >(const char *, icUInt32Number)
template bool jsonToArray< icUInt32Number >(const json &, icUInt32Number *, int)
template std::string valueToJson< icUInt64Number >(const char *, icUInt64Number)
template bool jsonToValue< icUInt32Number >(const json &, icUInt32Number &)
bool jsonToString(const json &j, std::string &value)
icUInt32Number icGetSigVal(const icChar *pBuf)
unsigned int icUInt32Number