Giri's C++ Support Library
C++ library providing everything you need to quickly create awesome applications.
JSON.h File Reference

Lightweight JSON library for exporting/importing data in JSON format from/to C++. Can be used standalone with any C++17 compiler. More...

#include <cstdint>
#include <cmath>
#include <cctype>
#include <string>
#include <deque>
#include <map>
#include <type_traits>
#include <initializer_list>
#include <ostream>
#include <charconv>
Include dependency graph for JSON.h:

Go to the source code of this file.

Classes

struct  giri::json::error_category
 Error category object used to convert the error code to a understandable message via std::error_code. More...
 
struct  std::is_error_code_enum< giri::json::error >
 
class  giri::json::JSON
 Class to represent and use JSON objects. Class may throw exceptions of type std::error_code on error. More...
 
class  giri::json::JSON::JSONWrapper< Container >
 Provides iterators to iterate over objects/arrays. More...
 
class  giri::json::JSON::JSONConstWrapper< Container >
 Provides const iterators to iterate over objects/arrays. More...
 

Namespaces

 giri
 Namespace for giri's C++ support library.
 
 giri::json
 Namespace containing all JSON related stuff.
 
 std
 
 giri::json::utility
 Collection of helper functions and objects.
 
 giri::json::parsers
 Collection of functions used to parse json strings and json substrings.
 

Enumerations

enum class  giri::json::error {
  float_conversion_failed_invalid_arg = 42 , float_conversion_failed_out_of_range , float_conversion_failed , object_missing_colon ,
  object_missing_comma , array_missing_comma_or_bracket , string_missing_hex_char , string_conversion_failed ,
  string_unescaped_conversion_failed , number_missing_exponent , number_unexpected_char , number_conversion_failed ,
  bool_wrong_text , bool_conversion_failed , null_wrong_text , unknown_starting_char
}
 Enum class to identify parsing and conversion errors.
 

Functions

std::string giri::json::utility::json_escape (const std::string &str)
 
std::error_code giri::json::make_error_code (json::error e) noexcept
 
JSON giri::json::Array ()
 
template<typename... T>
JSON giri::json::Array (T... args)
 
JSON giri::json::Object ()
 
std::ostream & giri::json::operator<< (std::ostream &os, const JSON &json)
 
JSON giri::json::parsers::parse_next (const std::string &, size_t &, std::error_code &) noexcept
 
void giri::json::parsers::consume_ws (const std::string &str, size_t &offset)
 
JSON giri::json::parsers::parse_object (const std::string &str, size_t &offset, std::error_code &ec) noexcept
 
JSON giri::json::parsers::parse_array (const std::string &str, size_t &offset, std::error_code &ec) noexcept
 
JSON giri::json::parsers::parse_string (const std::string &str, size_t &offset, std::error_code &ec) noexcept
 
JSON giri::json::parsers::parse_number (const std::string &str, size_t &offset, std::error_code &ec) noexcept
 
JSON giri::json::parsers::parse_bool (const std::string &str, size_t &offset, std::error_code &ec) noexcept
 
JSON giri::json::parsers::parse_null (const std::string &str, size_t &offset, std::error_code &ec) noexcept
 

Variables

const json::error_category giri::json::utility::json_error_category
 

Detailed Description

Lightweight JSON library for exporting/importing data in JSON format from/to C++. Can be used standalone with any C++17 compiler.

Author
nbsdx (Neil)
Daniel Giritzer

Further informations:

Based on: https://github.com/nbsdx/SimpleJSON/

This version includes new features, performancefixes, documentation and bugfixes added by giri@.nosp@m.nwrk.nosp@m..biz.

Original License:

Do what the fuck you want public license