Skip to content

Read values from nested jsons


Example on how to read values from nested jsons.

We have this json:
{
    "protagonist": {
        "name": "Parry Hotter",
        "age": 30,
        "height": 184.9,
        "isMale": false
    },
    "antagonist": {
        "name": "Volkermord",
        "evil_power": "no nose"
    }
}
C++:
Json json;
json.Parse(aboveJsonCode);

std::string protago_name = json.AsJson.Get("protagonist").AsJson.Get("name").AsString;
int protago_age          = json.AsJson.Get("protagonist").AsJson.Get("age").AsInt;
float protago_height     = json.AsJson.Get("protagonist").AsJson.Get("height").AsFloat;
bool protago_isMale      = json.AsJson.Get("protagonist").AsJson.Get("isMale").AsBool;

std::string antago_name  = json.AsJson.Get("antagonist").AsJson.Get("name").AsString;
std::string antago_power = json.AsJson.Get("antagonist").AsJson.Get("evil_power").AsString;
With Shorthands (C++):
Json json;
json.Parse(aboveJsonCode);

std::string protago_name = json.AsJson.ShorthandGet("protagonist.name").AsString;
int protago_age          = json.AsJson.ShorthandGet("protagonist.age").AsInt;
float protago_height     = json.AsJson.ShorthandGet("protagonist.height").AsFloat;
bool protago_isMale      = json.AsJson.ShorthandGet("protagonist.isMale").AsBool;

std::string antago_name  = json.AsJson.ShorthandGet("antagonist.name").AsString;
std::string antago_power = json.AsJson.ShorthandGet("antagonist.evil_power").AsString;