diff options
author | horchi <vdr@jwendel.de> | 2020-10-31 06:19:11 +0100 |
---|---|---|
committer | horchi <vdr@jwendel.de> | 2020-10-31 06:19:11 +0100 |
commit | 5675b5b9e4f06d6e4667db261f1a7d420cdd1ed4 (patch) | |
tree | 15fa6fb38702620845da96a7008109a813a14adb /lib/json.c | |
parent | 449dda4ec3a0333538ba9e83a8066ae5ed10ca92 (diff) | |
download | vdr-epg-daemon-5675b5b9e4f06d6e4667db261f1a7d420cdd1ed4.tar.gz vdr-epg-daemon-5675b5b9e4f06d6e4667db261f1a7d420cdd1ed4.tar.bz2 |
dev
Diffstat (limited to 'lib/json.c')
-rw-r--r-- | lib/json.c | 72 |
1 files changed, 72 insertions, 0 deletions
@@ -158,6 +158,16 @@ const char* getStringFromJson(json_t* obj, const char* name, const char* def) return json_string_value(o); } +int getBoolFromJson(json_t* obj, const char* name, bool def) +{ + json_t* o = json_object_get(obj, name); + + if (!o) + return def; + + return json_boolean_value(o); +} + int getIntFromJson(json_t* obj, const char* name, int def) { json_t* o = json_object_get(obj, name); @@ -168,5 +178,67 @@ int getIntFromJson(json_t* obj, const char* name, int def) return json_integer_value(o); } +long getLongFromJson(json_t* obj, const char* name, long def) +{ + json_t* o = json_object_get(obj, name); + + if (!o) + return def; + + return json_integer_value(o); +} + +double getDoubleFromJson(json_t* obj, const char* name, double def) +{ + json_t* o = json_object_get(obj, name); + + if (!o) + return def; + + return json_real_value(o); +} + + +int jStringValid(const char* s) +{ + json_t* obj = json_string(s); + + if (!obj) + return no; + + json_decref(obj); + + return yes; +} + +//*************************************************************************** +// Add Element +//*************************************************************************** + +int addToJson(json_t* obj, const char* name, const char* value, const char* def) +{ + json_t* j = json_string(value ? value : def); + + if (!j) + j = json_string(""); + + return json_object_set_new(obj, name, j); +} + +int addToJson(json_t* obj, const char* name, long value) +{ + return json_object_set_new(obj, name, json_integer(value)); +} + +int addToJson(json_t* obj, const char* name, int value) +{ + return json_object_set_new(obj, name, json_integer(value)); +} + +int addToJson(json_t* obj, const char* name, json_t* o) +{ + return json_object_set_new(obj, name, o); +} + //*************************************************************************** #endif // USEJSON |