#pragma once #include #include "esphome/core/helpers.h" #define ARDUINOJSON_ENABLE_STD_STRING 1 // NOLINT #define ARDUINOJSON_USE_LONG_LONG 1 // NOLINT #include namespace esphome { namespace json { /// Callback function typedef for parsing JsonObjects. using json_parse_t = std::function; /// Callback function typedef for building JsonObjects. using json_build_t = std::function; /// Build a JSON string with the provided json build function. std::string build_json(const json_build_t &f); /// Parse a JSON string and run the provided json parse function if it's valid. bool parse_json(const std::string &data, const json_parse_t &f); } // namespace json } // namespace esphome