+int JsonLoadStr(json_t *root, char *path, char *value) {
+ if (!value)
+ return 1;
+
+ json_t *jelm = json_path_get((const json_t *)root, path);
+ if (!jelm || !json_is_string(jelm))
+ return 2;
+
+ const char * strval = json_string_value(jelm);
+ if (!strval)
+ return 1;
+
+ memcpy(value, strval, strlen(strval));
+
+ return 0;
+}
+
+int JsonLoadBufAsHex(json_t *elm, char *path, uint8_t *data, size_t maxbufferlen, size_t *datalen) {
+ if (datalen)
+ *datalen = 0;
+
+ json_t *jelm = json_path_get((const json_t *)elm, path);
+ if (!jelm || !json_is_string(jelm))
+ return 1;
+
+ if (!HexToBuffer("ERROR load", json_string_value(jelm), data, maxbufferlen, datalen))
+ return 2;
+
+ return 0;
+};
+