C++ nlohmann::json safe loading template

Installation
SKILL.md

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

  1. The function must be a C++ template accepting a json object, a string key, and a reference to a variable.
  2. It must handle cases where the key is missing in the JSON object.
  3. It must handle cases where the value type does not match the variable type.
  4. Avoid syntax errors related to template usage (e.g., C2760). Do not use j[key].is<T>() if it causes compilation issues; prefer using j.find(key) and try-catch blocks.
  5. Use j.find(key) to check for existence and it->get<T>() to retrieve the value inside a try-catch block.

Output

Provide the complete C++ code for the template function.

Installs
GitHub Stars
484
First Seen
C++ nlohmann::json safe loading template — ecnu-icalk/autoskill