nlohmann / json

JSON for Modern C++
https://json.nlohmann.me
MIT License
41.25k stars 6.57k forks source link

Unable to parse JSON string from snake case to camel case #4399

Open daleeg opened 2 weeks ago

daleeg commented 2 weeks ago

Description

As titled

Reproduction steps

As titled

Expected vs. actual results

class Test {
    std::string nlohmannJson;
    NLOHMANN_MAP_DEFINE_TYPE_INTRUSIVE(Test, nlohmannJson, nlohmann_json);
};

std::string jStr = R"({"nlohmann_json": "test"})";
TestJson r = nlohmann::json::parse(jStr);
GTEST_ASSERT_EQ(r.nlohmannJson, "test");

Minimal code example

#define NLOHMANN_MAP_JSON_TO(v1, v2) nlohmann_json_j[#v2] = nlohmann_json_t.v1;
#define NLOHMANN_MAP_JSON_FROM(v1, v2) nlohmann_json_j.at(#v2).get_to(nlohmann_json_t.v1);
#define NLOHMANN_MAP_JSON_FROM_WITH_DEFAULT(v1, v2) nlohmann_json_t.v1 = nlohmann_json_j.value(#v2, nlohmann_json_default_obj.v1);

#define NLOHMANN_MAP_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \
        NLOHMANN_MAP_JSON_PASTE64, \
        NLOHMANN_MAP_JSON_PASTE63, \
        NLOHMANN_MAP_JSON_PASTE62, \
        NLOHMANN_MAP_JSON_PASTE61, \
        NLOHMANN_MAP_JSON_PASTE60, \
        NLOHMANN_MAP_JSON_PASTE59, \
        NLOHMANN_MAP_JSON_PASTE58, \
        NLOHMANN_MAP_JSON_PASTE57, \
        NLOHMANN_MAP_JSON_PASTE56, \
        NLOHMANN_MAP_JSON_PASTE55, \
        NLOHMANN_MAP_JSON_PASTE54, \
        NLOHMANN_MAP_JSON_PASTE53, \
        NLOHMANN_MAP_JSON_PASTE52, \
        NLOHMANN_MAP_JSON_PASTE51, \
        NLOHMANN_MAP_JSON_PASTE50, \
        NLOHMANN_MAP_JSON_PASTE49, \
        NLOHMANN_MAP_JSON_PASTE48, \
        NLOHMANN_MAP_JSON_PASTE47, \
        NLOHMANN_MAP_JSON_PASTE46, \
        NLOHMANN_MAP_JSON_PASTE45, \
        NLOHMANN_MAP_JSON_PASTE44, \
        NLOHMANN_MAP_JSON_PASTE43, \
        NLOHMANN_MAP_JSON_PASTE42, \
        NLOHMANN_MAP_JSON_PASTE41, \
        NLOHMANN_MAP_JSON_PASTE40, \
        NLOHMANN_MAP_JSON_PASTE39, \
        NLOHMANN_MAP_JSON_PASTE38, \
        NLOHMANN_MAP_JSON_PASTE37, \
        NLOHMANN_MAP_JSON_PASTE36, \
        NLOHMANN_MAP_JSON_PASTE35, \
        NLOHMANN_MAP_JSON_PASTE34, \
        NLOHMANN_MAP_JSON_PASTE33, \
        NLOHMANN_MAP_JSON_PASTE32, \
        NLOHMANN_MAP_JSON_PASTE31, \
        NLOHMANN_MAP_JSON_PASTE30, \
        NLOHMANN_MAP_JSON_PASTE29, \
        NLOHMANN_MAP_JSON_PASTE28, \
        NLOHMANN_MAP_JSON_PASTE27, \
        NLOHMANN_MAP_JSON_PASTE26, \
        NLOHMANN_MAP_JSON_PASTE25, \
        NLOHMANN_MAP_JSON_PASTE24, \
        NLOHMANN_MAP_JSON_PASTE23, \
        NLOHMANN_MAP_JSON_PASTE22, \
        NLOHMANN_MAP_JSON_PASTE21, \
        NLOHMANN_MAP_JSON_PASTE20, \
        NLOHMANN_MAP_JSON_PASTE19, \
        NLOHMANN_MAP_JSON_PASTE18, \
        NLOHMANN_MAP_JSON_PASTE17, \
        NLOHMANN_MAP_JSON_PASTE16, \
        NLOHMANN_MAP_JSON_PASTE15, \
        NLOHMANN_MAP_JSON_PASTE14, \
        NLOHMANN_MAP_JSON_PASTE13, \
        NLOHMANN_MAP_JSON_PASTE12, \
        NLOHMANN_MAP_JSON_PASTE11, \
        NLOHMANN_MAP_JSON_PASTE10, \
        NLOHMANN_MAP_JSON_PASTE9, \
        NLOHMANN_MAP_JSON_PASTE8, \
        NLOHMANN_MAP_JSON_PASTE7, \
        NLOHMANN_MAP_JSON_PASTE6, \
        NLOHMANN_MAP_JSON_PASTE5, \
        NLOHMANN_MAP_JSON_PASTE4, \
        NLOHMANN_MAP_JSON_PASTE3, \
        NLOHMANN_MAP_JSON_PASTE2, \
        NLOHMANN_MAP_JSON_PASTE1)(__VA_ARGS__))

#define NLOHMANN_MAP_JSON_PASTE3(func1, func2, v1) func2(v1)
#define NLOHMANN_MAP_JSON_PASTE4(func1, func2, v1, v2) func1(v1, v2)
#define NLOHMANN_MAP_JSON_PASTE5(func1, func2, v1, v2, v3) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v3) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v1, v2)
#define NLOHMANN_MAP_JSON_PASTE6(func1, func2, v1, v2, v3, v4) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v3, v4) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v1, v2)
#define NLOHMANN_MAP_JSON_PASTE7(func1, func2, v1, v2, v3, v4, v5) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v5) NLOHMANN_MAP_JSON_PASTE6(func1, func2, v1, v2, v3, v4)
#define NLOHMANN_MAP_JSON_PASTE8(func1, func2, v1, v2, v3, v4, v5, v6) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v5, v6) NLOHMANN_MAP_JSON_PASTE6(func1, func2, v1, v2, v3, v4)
#define NLOHMANN_MAP_JSON_PASTE9(func1, func2, v1, v2, v3, v4, v5, v6, v7 )NLOHMANN_MAP_JSON_PASTE3(func1, func2, v7) NLOHMANN_MAP_JSON_PASTE8(func1, func2, v1, v2, v3, v4, v5, v6)
#define NLOHMANN_MAP_JSON_PASTE10(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v7, v8) NLOHMANN_MAP_JSON_PASTE8(func1, func2, v1, v2, v3, v4, v5, v6)
#define NLOHMANN_MAP_JSON_PASTE11(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v9) NLOHMANN_MAP_JSON_PASTE10(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8)
#define NLOHMANN_MAP_JSON_PASTE12(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v9, v10) NLOHMANN_MAP_JSON_PASTE10(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8)
#define NLOHMANN_MAP_JSON_PASTE13(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v11) NLOHMANN_MAP_JSON_PASTE12(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10))
#define NLOHMANN_MAP_JSON_PASTE14(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v11, v12) NLOHMANN_MAP_JSON_PASTE12(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
#define NLOHMANN_MAP_JSON_PASTE15(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v13) NLOHMANN_MAP_JSON_PASTE14(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12))
#define NLOHMANN_MAP_JSON_PASTE16(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v13, v14) NLOHMANN_MAP_JSON_PASTE14(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
#define NLOHMANN_MAP_JSON_PASTE17(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v15) NLOHMANN_MAP_JSON_PASTE16(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14))
#define NLOHMANN_MAP_JSON_PASTE18(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v15, v16) NLOHMANN_MAP_JSON_PASTE16(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
#define NLOHMANN_MAP_JSON_PASTE19(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v17) NLOHMANN_MAP_JSON_PASTE18(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16))
#define NLOHMANN_MAP_JSON_PASTE20(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v17, v18) NLOHMANN_MAP_JSON_PASTE18(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
#define NLOHMANN_MAP_JSON_PASTE21(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v19) NLOHMANN_MAP_JSON_PASTE20(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18))
#define NLOHMANN_MAP_JSON_PASTE22(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v19, v20) NLOHMANN_MAP_JSON_PASTE20(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
#define NLOHMANN_MAP_JSON_PASTE23(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v21) NLOHMANN_MAP_JSON_PASTE22(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20))
#define NLOHMANN_MAP_JSON_PASTE24(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v21, v22) NLOHMANN_MAP_JSON_PASTE22(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
#define NLOHMANN_MAP_JSON_PASTE25(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v23) NLOHMANN_MAP_JSON_PASTE24(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22))
#define NLOHMANN_MAP_JSON_PASTE26(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v23, v24) NLOHMANN_MAP_JSON_PASTE24(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
#define NLOHMANN_MAP_JSON_PASTE27(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v25) NLOHMANN_MAP_JSON_PASTE26(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24))
#define NLOHMANN_MAP_JSON_PASTE28(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v25, v26) NLOHMANN_MAP_JSON_PASTE26(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
#define NLOHMANN_MAP_JSON_PASTE29(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v27) NLOHMANN_MAP_JSON_PASTE28(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26))
#define NLOHMANN_MAP_JSON_PASTE30(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v27, v28) NLOHMANN_MAP_JSON_PASTE28(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
#define NLOHMANN_MAP_JSON_PASTE31(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v29) NLOHMANN_MAP_JSON_PASTE30(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28))
#define NLOHMANN_MAP_JSON_PASTE32(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v29, v30) NLOHMANN_MAP_JSON_PASTE30(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
#define NLOHMANN_MAP_JSON_PASTE33(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v31) NLOHMANN_MAP_JSON_PASTE32(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30))
#define NLOHMANN_MAP_JSON_PASTE34(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v31, v32) NLOHMANN_MAP_JSON_PASTE32(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
#define NLOHMANN_MAP_JSON_PASTE35(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v33) NLOHMANN_MAP_JSON_PASTE34(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32))
#define NLOHMANN_MAP_JSON_PASTE36(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v33, v34) NLOHMANN_MAP_JSON_PASTE34(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
#define NLOHMANN_MAP_JSON_PASTE37(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v35) NLOHMANN_MAP_JSON_PASTE36(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34))
#define NLOHMANN_MAP_JSON_PASTE38(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v35, v36) NLOHMANN_MAP_JSON_PASTE36(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
#define NLOHMANN_MAP_JSON_PASTE39(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v37) NLOHMANN_MAP_JSON_PASTE38(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36))
#define NLOHMANN_MAP_JSON_PASTE40(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v37, v38) NLOHMANN_MAP_JSON_PASTE38(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
#define NLOHMANN_MAP_JSON_PASTE41(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v39) NLOHMANN_MAP_JSON_PASTE40(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38))
#define NLOHMANN_MAP_JSON_PASTE42(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v39, v40) NLOHMANN_MAP_JSON_PASTE40(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
#define NLOHMANN_MAP_JSON_PASTE43(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v41) NLOHMANN_MAP_JSON_PASTE42(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40))
#define NLOHMANN_MAP_JSON_PASTE44(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v41, v42) NLOHMANN_MAP_JSON_PASTE42(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
#define NLOHMANN_MAP_JSON_PASTE45(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v43) NLOHMANN_MAP_JSON_PASTE44(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42))
#define NLOHMANN_MAP_JSON_PASTE46(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v43, v44) NLOHMANN_MAP_JSON_PASTE44(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
#define NLOHMANN_MAP_JSON_PASTE47(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v45) NLOHMANN_MAP_JSON_PASTE46(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44))
#define NLOHMANN_MAP_JSON_PASTE48(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v45, v46) NLOHMANN_MAP_JSON_PASTE46(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
#define NLOHMANN_MAP_JSON_PASTE49(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v47) NLOHMANN_MAP_JSON_PASTE48(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46))
#define NLOHMANN_MAP_JSON_PASTE50(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v47, v48) NLOHMANN_MAP_JSON_PASTE48(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
#define NLOHMANN_MAP_JSON_PASTE51(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v49) NLOHMANN_MAP_JSON_PASTE50(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48))
#define NLOHMANN_MAP_JSON_PASTE52(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v49, v50) NLOHMANN_MAP_JSON_PASTE50(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
#define NLOHMANN_MAP_JSON_PASTE53(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v51) NLOHMANN_MAP_JSON_PASTE52(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50))
#define NLOHMANN_MAP_JSON_PASTE54(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v51, v52) NLOHMANN_MAP_JSON_PASTE52(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
#define NLOHMANN_MAP_JSON_PASTE55(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v53) NLOHMANN_MAP_JSON_PASTE54(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52))
#define NLOHMANN_MAP_JSON_PASTE56(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v53, v54) NLOHMANN_MAP_JSON_PASTE54(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
#define NLOHMANN_MAP_JSON_PASTE57(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v55) NLOHMANN_MAP_JSON_PASTE56(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54))
#define NLOHMANN_MAP_JSON_PASTE58(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v55, v56) NLOHMANN_MAP_JSON_PASTE56(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
#define NLOHMANN_MAP_JSON_PASTE59(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v57) NLOHMANN_MAP_JSON_PASTE58(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56))
#define NLOHMANN_MAP_JSON_PASTE60(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v57, v58) NLOHMANN_MAP_JSON_PASTE58(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
#define NLOHMANN_MAP_JSON_PASTE61(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v59) NLOHMANN_MAP_JSON_PASTE60(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58))
#define NLOHMANN_MAP_JSON_PASTE62(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v59, v60) NLOHMANN_MAP_JSON_PASTE60(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
#define NLOHMANN_MAP_JSON_PASTE63(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_MAP_JSON_PASTE3(func1, func2, v61) NLOHMANN_MAP_JSON_PASTE62(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60))
#define NLOHMANN_MAP_JSON_PASTE64(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_MAP_JSON_PASTE4(func1, func2, v61, v62) NLOHMANN_MAP_JSON_PASTE62(func1, func2, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
#define NLOHMANN_MAP_DEFINE_TYPE_INTRUSIVE(Type, ...)  \
    friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_MAP_JSON_PASTE(NLOHMANN_MAP_JSON_TO, NLOHMANN_JSON_TO, __VA_ARGS__)) } \
    friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_MAP_JSON_PASTE(NLOHMANN_MAP_JSON_FROM, NLOHMANN_JSON_FROM, __VA_ARGS__)) }

#define NLOHMANN_MAP_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...)  \
    friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_MAP_JSON_PASTE(NLOHMANN_MAP_JSON_TO, NLOHMANN_JSON_TO, __VA_ARGS__)) } \
    friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_MAP_JSON_PASTE(NLOHMANN_MAP_JSON_FROM_WITH_DEFAULT, NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) }
#define NLOHMANN_MAP_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, ...)  \
    friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_MAP_JSON_PASTE(NLOHMANN_MAP_JSON_TO, NLOHMANN_JSON_TO, __VA_ARGS__)) }

Error messages

No response

Compiler and operating system

x64-osx

Library version

3.11.3

Validation