mirror of
https://github.com/nlohmann/json.git
synced 2024-08-21 20:42:29 +02:00
59 lines
1.8 KiB
C++
59 lines
1.8 KiB
C++
#include <json.hpp>
|
|
#include <deque>
|
|
#include <list>
|
|
#include <forward_list>
|
|
#include <set>
|
|
#include <unordered_set>
|
|
|
|
using json = nlohmann::json;
|
|
|
|
int main()
|
|
{
|
|
// create an array from std::vector
|
|
std::vector<int> c_vector {1, 2, 3, 4};
|
|
json j_vec(c_vector);
|
|
|
|
// create an array from std::deque
|
|
std::deque<double> c_deque {1.2, 2.3, 3.4, 5.6};
|
|
json j_deque(c_deque);
|
|
|
|
// create an array from std::list
|
|
std::list<bool> c_list {true, true, false, true};
|
|
json j_list(c_list);
|
|
|
|
// create an array from std::forward_list
|
|
std::forward_list<int64_t> c_flist {12345678909876, 23456789098765, 34567890987654, 45678909876543};
|
|
json j_flist(c_flist);
|
|
|
|
// create an array from std::array
|
|
std::array<unsigned long, 4> c_array {{1, 2, 3, 4}};
|
|
json j_array(c_array);
|
|
|
|
// create an array from std::set
|
|
std::set<std::string> c_set {"one", "two", "three", "four", "one"};
|
|
json j_set(c_set); // only one entry for "one" is used
|
|
|
|
// create an array from std::unordered_set
|
|
std::unordered_set<std::string> c_uset {"one", "two", "three", "four", "one"};
|
|
json j_uset(c_uset); // only one entry for "one" is used
|
|
|
|
// create an array from std::multiset
|
|
std::multiset<std::string> c_mset {"one", "two", "one", "four"};
|
|
json j_mset(c_mset); // only one entry for "one" is used
|
|
|
|
// create an array from std::unordered_multiset
|
|
std::unordered_multiset<std::string> c_umset {"one", "two", "one", "four"};
|
|
json j_umset(c_umset); // both entries for "one" are used
|
|
|
|
// serialize the JSON arrays
|
|
std::cout << j_vec << '\n';
|
|
std::cout << j_deque << '\n';
|
|
std::cout << j_list << '\n';
|
|
std::cout << j_flist << '\n';
|
|
std::cout << j_array << '\n';
|
|
std::cout << j_set << '\n';
|
|
std::cout << j_uset << '\n';
|
|
std::cout << j_mset << '\n';
|
|
std::cout << j_umset << '\n';
|
|
}
|