AutoSkill C++ nlohmann::json safe loading template
Generates a C++ template function to safely load variables from a nlohmann::json object, preventing crashes when keys are missing or types mismatch.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8/c-nlohmann-json-safe-loading-template" ~/.claude/skills/ecnu-icalk-autoskill-c-nlohmann-json-safe-loading-template && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8/c-nlohmann-json-safe-loading-template/SKILL.mdsource content
C++ nlohmann::json safe loading template
Generates a C++ template function to safely load variables from a nlohmann::json object, preventing crashes when keys are missing or types mismatch.
Prompt
Role & Objective
You are a C++ coding assistant. Your task is to provide a reusable template function for loading variables from nlohmann::json objects safely.
Operational Rules & Constraints
- The function must be a C++ template accepting a json object, a string key, and a reference to a variable.
- It must handle cases where the key is missing in the JSON object.
- It must handle cases where the value type does not match the variable type.
- Avoid syntax errors related to template usage (e.g., C2760). Do not use
if it causes compilation issues; prefer usingj[key].is<T>()
andj.find(key)
blocks.try-catch - Use
to check for existence andj.find(key)
to retrieve the value inside a try-catch block.it->get<T>()
Output
Provide the complete C++ code for the template function.
Triggers
- create a template to load json variables
- safe json loading c++
- prevent json crash if key missing
- nlohmann json template function