HB, OTA etc
This commit is contained in:
30
esp32/main/json_utils.cpp
Normal file
30
esp32/main/json_utils.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
#include <cstring>
|
||||
#include <cstddef>
|
||||
#include "json_utils.h"
|
||||
|
||||
bool json_get_string(const char *json, const char *key, char *out, size_t out_size) {
|
||||
const char *k = strstr(json, key);
|
||||
if (!k) return false;
|
||||
|
||||
const char *start = strchr(k, ':');
|
||||
if (!start) return false;
|
||||
|
||||
start++;
|
||||
|
||||
// найти начало строки (первую кавычку)
|
||||
while (*start && *start != '\"') start++;
|
||||
if (!*start) return false;
|
||||
|
||||
start++; // после "
|
||||
|
||||
const char *end = strchr(start, '\"');
|
||||
if (!end) return false;
|
||||
|
||||
size_t len = end - start;
|
||||
if (len >= out_size) return false;
|
||||
|
||||
memcpy(out, start, len);
|
||||
out[len] = '\0';
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user