mirror of
https://github.com/nlohmann/json.git
synced 2025-04-19 13:02:16 +03:00
* mkdocs: add string_view examples * mkdocs: reference underlying operators * mkdocs: add operator<=> examples * mkdocs: fix style check issues * mkdocs: tweak BJData page * mkdocs: add CMake option hints to macros * mkdocs: fix JSON_DISABLE_ENUM_SERIALIZATION definition * mkdocs: fix link to unit-udt.cpp * mkdocs: fix "Arbitrary Type Conversions" title * mkdocs: link to api/macros/*.md instead of features/macros.md * mkdocs: document JSON_DisableEnumSerialization CMake option * mkdocs: encode required C++ standard in example files * docset: detect gsed/sed * docset: update index * docset: fix CSS patching * docset: add list_missing_pages make target * docset: add list_removed_paths make target * docset: replace page titles with name from index * docset: add install target for Zeal docset browser * Use GCC_TOOL in ci_test_documentation target
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#include <iostream>
|
|
#include <nlohmann/json.hpp>
|
|
|
|
using json = nlohmann::json;
|
|
|
|
int main()
|
|
{
|
|
// create a JSON value
|
|
json j =
|
|
{
|
|
{"number", 1}, {"string", "foo"}, {"array", {1, 2}}
|
|
};
|
|
|
|
std::cout << std::boolalpha
|
|
<< j.contains("/number"_json_pointer) << '\n'
|
|
<< j.contains("/string"_json_pointer) << '\n'
|
|
<< j.contains("/array"_json_pointer) << '\n'
|
|
<< j.contains("/array/1"_json_pointer) << '\n'
|
|
<< j.contains("/array/-"_json_pointer) << '\n'
|
|
<< j.contains("/array/4"_json_pointer) << '\n'
|
|
<< j.contains("/baz"_json_pointer) << std::endl;
|
|
|
|
try
|
|
{
|
|
// try to use an array index with leading '0'
|
|
j.contains("/array/01"_json_pointer);
|
|
}
|
|
catch (json::parse_error& e)
|
|
{
|
|
std::cout << e.what() << '\n';
|
|
}
|
|
|
|
try
|
|
{
|
|
// try to use an array index that is not a number
|
|
j.contains("/array/one"_json_pointer);
|
|
}
|
|
catch (json::parse_error& e)
|
|
{
|
|
std::cout << e.what() << '\n';
|
|
}
|
|
}
|