diff options
-rw-r--r-- | DumpSource.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/DumpSource.cpp b/DumpSource.cpp index b9c86be..cfcd9f0 100644 --- a/DumpSource.cpp +++ b/DumpSource.cpp @@ -55,10 +55,13 @@ from_json(const json& j, Killmail& km) j.at("solar_system_id").get_to(km.location); j.at("victim").at("ship_type_id").get_to(km.ship); j.at("victim").at("position").get_to(km.position); - j.at("victim").at("character_id").get_to(km.owner.character); + if (j.at("victim").contains("character_id")) + j.at("victim").at("character_id").get_to(km.owner.character); j.at("victim").at("corporation_id").get_to(km.owner.corporation); - j.at("victim").at("alliance_id").get_to(km.owner.alliance); - j.at("victim").at("faction_id").get_to(km.owner.faction); + if (j.at("victim").contains("alliance_id")) + j.at("victim").at("alliance_id").get_to(km.owner.alliance); + if (j.at("victim").contains("faction_id")) + j.at("victim").at("faction_id").get_to(km.owner.faction); auto calendar = j.at("killmail_time").get<tm>(); km.time = std::mktime(&calendar); } |