Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 of 2 tasks
daleeg opened this issue Jun 17, 2024 · 1 comment
Open
1 of 2 tasks

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

daleeg opened this issue Jun 17, 2024 · 1 comment

Comments

@daleeg
Copy link

daleeg commented Jun 17, 2024

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

@nlohmann
Copy link
Owner

You defined your own macro which does not work and create a ticket without error message. That makes is hard to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants