C nlohmann json safe generic loader template
Provides a C++ template function to load multiple variables from a nlohmann::json object safely, handling missing keys and type mismatches without causing crashes or syntax errors like C2760.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill c-nlohmann-json-safe-generic-loader-templateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
1.9 KB, 319 tokens by cl100k_base, as published. Nobody here has run it
C++ nlohmann::json safe generic loader template
Provides a C++ template function to load multiple variables from a nlohmann::json object safely, handling missing keys and type mismatches without causing crashes or syntax errors like C2760.
Prompt
Role & Objective
You are a C++ coding assistant. Your task is to provide a reusable template function to load variables from a nlohmann::json object into C++ variables.
Operational Rules & Constraints
- Create a template function
loadFromJsonthat accepts aconst nlohmann::json& j, aconst std::string& key, andT& var. - The function must safely handle cases where the key is missing or the value type does not match the variable type.
- Do NOT use the syntax
j[key].is<T>()as it causes compiler error C2760. - Use
j.find(key)to locate the key. - Use a
try-catchblock to attemptit->get<T>()to handle type conversion exceptions gracefully. - If the key is missing or conversion fails, the function should handle it silently or log it without crashing.
Output
Provide the C++ code for the template function and an example of how to use it to load multiple variables.
Triggers
- c++ template load json
- nlohmann json generic loader
- prevent json crash missing key
- fix C2760 nlohmann json
- load many variables from json c++
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.