Generated-output differences

quicktype output changed between the PR base and tested PR merge revisions.
← Back to the pull request
150test cases
160files differ
160modified
0new
0deleted
1,800changed lines
+1,800 −0insertions / deletions
Base 7cc8d8a58955a00fa24b69cb53f71f3a32fc4f5e · PR merge 1ebd67250146737b0c4346a732ddf002476b3c58 · Head b1d8500af95e516bd1d8d4d1ee340a11b75c6fc2 · raw patch
Test case

test/inputs/graphql/github2.graphql

1 generated file · +1 −0
Mgraphql-cplusplusdefault / quicktype.hpp+1 −0
@@ -217,6 +217,7 @@ namespace quicktype {
217217
218218 inline void from_json(const json & j, RepositoryConnection& x) {
219219 if (!j.is_object()) throw std::runtime_error("Expected object");
220+ if (j.find("totalCount") != j.end() && !j.at("totalCount").is_number_integer()) throw std::runtime_error("Expected integer");
220221 x.set_total_count(j.at("totalCount").get<int64_t>());
221222 x.set_nodes(get_stack_optional<std::vector<std::optional<Repository>>>(j, "nodes"));
222223 }
Test case

test/inputs/graphql/github7.graphql

1 generated file · +1 −0
Mgraphql-cplusplusdefault / quicktype.hpp+1 −0
@@ -260,6 +260,7 @@ namespace quicktype {
260260
261261 inline void from_json(const json & j, Connection& x) {
262262 if (!j.is_object()) throw std::runtime_error("Expected object");
263+ if (j.find("totalCount") != j.end() && !j.at("totalCount").is_number_integer()) throw std::runtime_error("Expected integer");
263264 x.set_total_count(j.at("totalCount").get<int64_t>());
264265 }
Test case

test/inputs/json/misc/00c36.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -235,9 +235,12 @@ namespace quicktype {
235235
236236 inline void from_json(const json & j, FluffyTopLevel& x) {
237237 if (!j.is_object()) throw std::runtime_error("Expected object");
238+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
238239 x.set_page(j.at("page").get<int64_t>());
240+ if (j.find("pages") != j.end() && !j.at("pages").is_number_integer()) throw std::runtime_error("Expected integer");
239241 x.set_pages(j.at("pages").get<int64_t>());
240242 x.set_per_page(j.at("per_page").get<std::string>());
243+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
241244 x.set_total(j.at("total").get<int64_t>());
242245 }
Test case

test/inputs/json/misc/010b1.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/016af.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/09f54.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -124,6 +124,7 @@ namespace quicktype {
124124 inline void from_json(const json & j, Description& x) {
125125 if (!j.is_object()) throw std::runtime_error("Expected object");
126126 x.set_base_period(j.at("base_period").get<std::string>());
127+ if (j.find("missing") != j.end() && !j.at("missing").is_number_integer()) throw std::runtime_error("Expected integer");
127128 x.set_missing(j.at("missing").get<int64_t>());
128129 x.set_title(j.at("title").get<std::string>());
129130 x.set_units(j.at("units").get<std::string>());
Test case

test/inputs/json/misc/0a358.json

1 generated file · +4 −0
Mcplusplusdefault / quicktype.hpp+4 −0
@@ -150,6 +150,7 @@ namespace quicktype {
150150 if (!j.is_object()) throw std::runtime_error("Expected object");
151151 x.set_code(j.at("code").get<std::string>());
152152 x.set_created_at(j.at("created_at").get<std::string>());
153+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
153154 x.set_id(j.at("id").get<int64_t>());
154155 x.set_name(j.at("name").get<std::string>());
155156 x.set_updated_at(j.at("updated_at").get<std::string>());
@@ -168,10 +169,13 @@ namespace quicktype {
168169
169170 inline void from_json(const json & j, TopLevel& x) {
170171 if (!j.is_object()) throw std::runtime_error("Expected object");
172+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
171173 x.set_count(j.at("count").get<int64_t>());
172174 x.set_facets(j.at("facets").get<Facets>());
175+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
173176 x.set_limit(j.at("limit").get<int64_t>());
174177 x.set_next(j.at("next").get<std::string>());
178+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
175179 x.set_offset(j.at("offset").get<int64_t>());
176180 x.set_previous(j.at("previous").get<bool>());
177181 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/0a91a.json

1 generated file · +24 −0
Mcplusplusdefault / quicktype.hpp+24 −0
@@ -1140,6 +1140,7 @@ namespace quicktype {
11401140 x.set_avatar_url(j.at("avatar_url").get<std::string>());
11411141 x.set_display_login(get_stack_optional<std::string>(j, "display_login"));
11421142 x.set_gravatar_id(j.at("gravatar_id").get<std::string>());
1143+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
11431144 x.set_id(j.at("id").get<int64_t>());
11441145 x.set_login(j.at("login").get<std::string>());
11451146 x.set_url(j.at("url").get<std::string>());
@@ -1194,6 +1195,7 @@ namespace quicktype {
11941195 x.set_gists_url(j.at("gists_url").get<std::string>());
11951196 x.set_gravatar_id(j.at("gravatar_id").get<std::string>());
11961197 x.set_html_url(j.at("html_url").get<std::string>());
1198+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
11971199 x.set_id(j.at("id").get<int64_t>());
11981200 x.set_login(j.at("login").get<std::string>());
11991201 x.set_organizations_url(j.at("organizations_url").get<std::string>());
@@ -1247,7 +1249,9 @@ namespace quicktype {
12471249 x.set_downloads_url(j.at("downloads_url").get<std::string>());
12481250 x.set_events_url(j.at("events_url").get<std::string>());
12491251 x.set_fork(j.at("fork").get<bool>());
1252+ if (j.find("forks") != j.end() && !j.at("forks").is_number_integer()) throw std::runtime_error("Expected integer");
12501253 x.set_forks(j.at("forks").get<int64_t>());
1254+ if (j.find("forks_count") != j.end() && !j.at("forks_count").is_number_integer()) throw std::runtime_error("Expected integer");
12511255 x.set_forks_count(j.at("forks_count").get<int64_t>());
12521256 x.set_forks_url(j.at("forks_url").get<std::string>());
12531257 x.set_full_name(j.at("full_name").get<std::string>());
@@ -1263,6 +1267,7 @@ namespace quicktype {
12631267 x.set_homepage(get_untyped(j, "homepage"));
12641268 x.set_hooks_url(j.at("hooks_url").get<std::string>());
12651269 x.set_html_url(j.at("html_url").get<std::string>());
1270+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
12661271 x.set_id(j.at("id").get<int64_t>());
12671272 x.set_issue_comment_url(j.at("issue_comment_url").get<std::string>());
12681273 x.set_issue_events_url(j.at("issue_events_url").get<std::string>());
@@ -1276,15 +1281,19 @@ namespace quicktype {
12761281 x.set_mirror_url(get_untyped(j, "mirror_url"));
12771282 x.set_name(j.at("name").get<std::string>());
12781283 x.set_notifications_url(j.at("notifications_url").get<std::string>());
1284+ if (j.find("open_issues") != j.end() && !j.at("open_issues").is_number_integer()) throw std::runtime_error("Expected integer");
12791285 x.set_open_issues(j.at("open_issues").get<int64_t>());
1286+ if (j.find("open_issues_count") != j.end() && !j.at("open_issues_count").is_number_integer()) throw std::runtime_error("Expected integer");
12801287 x.set_open_issues_count(j.at("open_issues_count").get<int64_t>());
12811288 x.set_owner(j.at("owner").get<MergedBy>());
12821289 x.set_pulls_url(j.at("pulls_url").get<std::string>());
12831290 x.set_pushed_at(j.at("pushed_at").get<std::string>());
12841291 x.set_releases_url(j.at("releases_url").get<std::string>());
12851292 x.set_repo_private(j.at("private").get<bool>());
1293+ if (j.find("size") != j.end() && !j.at("size").is_number_integer()) throw std::runtime_error("Expected integer");
12861294 x.set_size(j.at("size").get<int64_t>());
12871295 x.set_ssh_url(j.at("ssh_url").get<std::string>());
1296+ if (j.find("stargazers_count") != j.end() && !j.at("stargazers_count").is_number_integer()) throw std::runtime_error("Expected integer");
12881297 x.set_stargazers_count(j.at("stargazers_count").get<int64_t>());
12891298 x.set_stargazers_url(j.at("stargazers_url").get<std::string>());
12901299 x.set_statuses_url(j.at("statuses_url").get<std::string>());
@@ -1296,7 +1305,9 @@ namespace quicktype {
12961305 x.set_trees_url(j.at("trees_url").get<std::string>());
12971306 x.set_updated_at(j.at("updated_at").get<std::string>());
12981307 x.set_url(j.at("url").get<std::string>());
1308+ if (j.find("watchers") != j.end() && !j.at("watchers").is_number_integer()) throw std::runtime_error("Expected integer");
12991309 x.set_watchers(j.at("watchers").get<int64_t>());
1310+ if (j.find("watchers_count") != j.end() && !j.at("watchers_count").is_number_integer()) throw std::runtime_error("Expected integer");
13001311 x.set_watchers_count(j.at("watchers_count").get<int64_t>());
13011312 }
13021313
@@ -1427,22 +1438,28 @@ namespace quicktype {
14271438
14281439 inline void from_json(const json & j, PullRequest& x) {
14291440 if (!j.is_object()) throw std::runtime_error("Expected object");
1441+ if (j.find("additions") != j.end() && !j.at("additions").is_number_integer()) throw std::runtime_error("Expected integer");
14301442 x.set_additions(j.at("additions").get<int64_t>());
14311443 x.set_assignee(get_untyped(j, "assignee"));
14321444 x.set_assignees(j.at("assignees").get<std::vector<nlohmann::json>>());
14331445 x.set_base(j.at("base").get<Base>());
14341446 x.set_body(j.at("body").get<std::string>());
1447+ if (j.find("changed_files") != j.end() && !j.at("changed_files").is_number_integer()) throw std::runtime_error("Expected integer");
14351448 x.set_changed_files(j.at("changed_files").get<int64_t>());
14361449 x.set_closed_at(j.at("closed_at").get<std::string>());
1450+ if (j.find("comments") != j.end() && !j.at("comments").is_number_integer()) throw std::runtime_error("Expected integer");
14371451 x.set_comments(j.at("comments").get<int64_t>());
14381452 x.set_comments_url(j.at("comments_url").get<std::string>());
1453+ if (j.find("commits") != j.end() && !j.at("commits").is_number_integer()) throw std::runtime_error("Expected integer");
14391454 x.set_commits(j.at("commits").get<int64_t>());
14401455 x.set_commits_url(j.at("commits_url").get<std::string>());
14411456 x.set_created_at(j.at("created_at").get<std::string>());
1457+ if (j.find("deletions") != j.end() && !j.at("deletions").is_number_integer()) throw std::runtime_error("Expected integer");
14421458 x.set_deletions(j.at("deletions").get<int64_t>());
14431459 x.set_diff_url(j.at("diff_url").get<std::string>());
14441460 x.set_head(j.at("head").get<Base>());
14451461 x.set_html_url(j.at("html_url").get<std::string>());
1462+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
14461463 x.set_id(j.at("id").get<int64_t>());
14471464 x.set_issue_url(j.at("issue_url").get<std::string>());
14481465 x.set_links(j.at("_links").get<Links>());
@@ -1455,11 +1472,13 @@ namespace quicktype {
14551472 x.set_merged_at(j.at("merged_at").get<std::string>());
14561473 x.set_merged_by(j.at("merged_by").get<MergedBy>());
14571474 x.set_milestone(get_untyped(j, "milestone"));
1475+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
14581476 x.set_number(j.at("number").get<int64_t>());
14591477 x.set_patch_url(j.at("patch_url").get<std::string>());
14601478 x.set_rebaseable(get_untyped(j, "rebaseable"));
14611479 x.set_requested_reviewers(j.at("requested_reviewers").get<std::vector<nlohmann::json>>());
14621480 x.set_review_comment_url(j.at("review_comment_url").get<std::string>());
1481+ if (j.find("review_comments") != j.end() && !j.at("review_comments").is_number_integer()) throw std::runtime_error("Expected integer");
14631482 x.set_review_comments(j.at("review_comments").get<int64_t>());
14641483 x.set_review_comments_url(j.at("review_comments_url").get<std::string>());
14651484 x.set_state(j.at("state").get<std::string>());
@@ -1521,15 +1540,19 @@ namespace quicktype {
15211540 x.set_before(get_stack_optional<std::string>(j, "before"));
15221541 x.set_commits(get_stack_optional<std::vector<Commit>>(j, "commits"));
15231542 x.set_description(get_stack_optional<std::string>(j, "description"));
1543+ if (j.find("distinct_size") != j.end() && !j.at("distinct_size").is_number_integer()) throw std::runtime_error("Expected integer");
15241544 x.set_distinct_size(get_stack_optional<int64_t>(j, "distinct_size"));
15251545 x.set_head(get_stack_optional<std::string>(j, "head"));
15261546 x.set_master_branch(get_stack_optional<std::string>(j, "master_branch"));
1547+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
15271548 x.set_number(get_stack_optional<int64_t>(j, "number"));
15281549 x.set_pull_request(get_stack_optional<PullRequest>(j, "pull_request"));
1550+ if (j.find("push_id") != j.end() && !j.at("push_id").is_number_integer()) throw std::runtime_error("Expected integer");
15291551 x.set_push_id(get_stack_optional<int64_t>(j, "push_id"));
15301552 x.set_pusher_type(get_stack_optional<std::string>(j, "pusher_type"));
15311553 x.set_ref(get_stack_optional<std::string>(j, "ref"));
15321554 x.set_ref_type(get_stack_optional<std::string>(j, "ref_type"));
1555+ if (j.find("size") != j.end() && !j.at("size").is_number_integer()) throw std::runtime_error("Expected integer");
15331556 x.set_size(get_stack_optional<int64_t>(j, "size"));
15341557 }
15351558
@@ -1553,6 +1576,7 @@ namespace quicktype {
15531576
15541577 inline void from_json(const json & j, TopLevelRepo& x) {
15551578 if (!j.is_object()) throw std::runtime_error("Expected object");
1579+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
15561580 x.set_id(j.at("id").get<int64_t>());
15571581 x.set_name(j.at("name").get<std::string>());
15581582 x.set_url(j.at("url").get<std::string>());
Test case

test/inputs/json/misc/0b91a.json

1 generated file · +4 −0
Mcplusplusdefault / quicktype.hpp+4 −0
@@ -238,6 +238,7 @@ namespace quicktype {
238238 inline void from_json(const json & j, ResponseInfo& x) {
239239 if (!j.is_object()) throw std::runtime_error("Expected object");
240240 x.set_developer_message(j.at("developerMessage").get<std::string>());
241+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
241242 x.set_status(j.at("status").get<int64_t>());
242243 }
243244
@@ -249,8 +250,11 @@ namespace quicktype {
249250
250251 inline void from_json(const json & j, Resultset& x) {
251252 if (!j.is_object()) throw std::runtime_error("Expected object");
253+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
252254 x.set_count(j.at("count").get<int64_t>());
255+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
253256 x.set_page(j.at("page").get<int64_t>());
257+ if (j.find("pagesize") != j.end() && !j.at("pagesize").is_number_integer()) throw std::runtime_error("Expected integer");
254258 x.set_pagesize(j.at("pagesize").get<int64_t>());
255259 }
Test case

test/inputs/json/misc/0cffa.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -760,6 +760,7 @@ namespace quicktype {
760760 x.set_id(j.at("id").get<std::string>());
761761 x.set_images(j.at("images").get<Images>());
762762 x.set_import_datetime(j.at("import_datetime").get<std::string>());
763+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
763764 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
764765 x.set_rating(j.at("rating").get<Rating>());
765766 x.set_slug(j.at("slug").get<std::string>());
@@ -799,6 +800,7 @@ namespace quicktype {
799800 if (!j.is_object()) throw std::runtime_error("Expected object");
800801 x.set_msg(j.at("msg").get<std::string>());
801802 x.set_response_id(j.at("response_id").get<std::string>());
803+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
802804 x.set_status(j.at("status").get<int64_t>());
803805 }
804806
@@ -811,8 +813,11 @@ namespace quicktype {
811813
812814 inline void from_json(const json & j, Pagination& x) {
813815 if (!j.is_object()) throw std::runtime_error("Expected object");
816+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
814817 x.set_count(j.at("count").get<int64_t>());
818+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
815819 x.set_offset(j.at("offset").get<int64_t>());
820+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
816821 x.set_total_count(j.at("total_count").get<int64_t>());
817822 }
Test case

test/inputs/json/misc/0e0c2.json

1 generated file · +13 −0
Mcplusplusdefault / quicktype.hpp+13 −0
@@ -426,6 +426,7 @@ namespace quicktype {
426426
427427 inline void from_json(const json & j, Collection& x) {
428428 if (!j.is_object()) throw std::runtime_error("Expected object");
429+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
429430 x.set_id(j.at("id").get<int64_t>());
430431 x.set_movies(j.at("movies").get<std::vector<int64_t>>());
431432 x.set_name(j.at("name").get<std::string>());
@@ -444,6 +445,7 @@ namespace quicktype {
444445 if (!j.is_object()) throw std::runtime_error("Expected object");
445446 x.set_cast(j.at("cast").get<std::string>());
446447 x.set_director(j.at("director").get<std::string>());
448+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
447449 x.set_id(j.at("id").get<int64_t>());
448450 x.set_language(j.at("language").get<DetailLanguage>());
449451 x.set_storyline(j.at("storyline").get<std::string>());
@@ -478,7 +480,9 @@ namespace quicktype {
478480
479481 inline void from_json(const json & j, Image& x) {
480482 if (!j.is_object()) throw std::runtime_error("Expected object");
483+ if (j.find("favs") != j.end() && !j.at("favs").is_number_integer()) throw std::runtime_error("Expected integer");
481484 x.set_favs(j.at("favs").get<int64_t>());
485+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
482486 x.set_id(j.at("id").get<int64_t>());
483487 x.set_thumbnail(j.at("thumbnail").get<std::string>());
484488 x.set_type(j.at("type").get<Type>());
@@ -512,8 +516,11 @@ namespace quicktype {
512516
513517 inline void from_json(const json & j, VoteScore& x) {
514518 if (!j.is_object()) throw std::runtime_error("Expected object");
519+ if (j.find("avg") != j.end() && !j.at("avg").is_number_integer()) throw std::runtime_error("Expected integer");
515520 x.set_avg(j.at("avg").get<int64_t>());
521+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
516522 x.set_score(j.at("score").get<int64_t>());
523+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
517524 x.set_total(j.at("total").get<int64_t>());
518525 }
519526
@@ -526,20 +533,25 @@ namespace quicktype {
526533
527534 inline void from_json(const json & j, Result& x) {
528535 if (!j.is_object()) throw std::runtime_error("Expected object");
536+ if (j.find("active_screens") != j.end() && !j.at("active_screens").is_number_integer()) throw std::runtime_error("Expected integer");
529537 x.set_active_screens(j.at("active_screens").get<int64_t>());
530538 x.set_collections(j.at("collections").get<std::vector<Collection>>());
531539 x.set_details(j.at("details").get<std::vector<Detail>>());
540+ if (j.find("duration") != j.end() && !j.at("duration").is_number_integer()) throw std::runtime_error("Expected integer");
532541 x.set_duration(j.at("duration").get<int64_t>());
533542 x.set_fav_movie(j.at("fav_movie").get<FavMovie>());
543+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
534544 x.set_id(j.at("id").get<int64_t>());
535545 x.set_images(j.at("images").get<std::vector<Image>>());
536546 x.set_language(j.at("language").get<ResultLanguage>());
537547 x.set_release_date(j.at("release_date").get<std::string>());
548+ if (j.find("stars") != j.end() && !j.at("stars").is_number_integer()) throw std::runtime_error("Expected integer");
538549 x.set_stars(j.at("stars").get<int64_t>());
539550 x.set_tags(get_stack_optional<std::vector<nlohmann::json>>(j, "tags"));
540551 x.set_title(j.at("title").get<std::string>());
541552 x.set_videos(j.at("videos").get<std::vector<Video>>());
542553 x.set_vote_score(j.at("vote_score").get<VoteScore>());
554+ if (j.find("watches") != j.end() && !j.at("watches").is_number_integer()) throw std::runtime_error("Expected integer");
543555 x.set_watches(j.at("watches").get<int64_t>());
544556 }
545557
@@ -564,6 +576,7 @@ namespace quicktype {
564576
565577 inline void from_json(const json & j, TopLevel& x) {
566578 if (!j.is_object()) throw std::runtime_error("Expected object");
579+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
567580 x.set_count(j.at("count").get<int64_t>());
568581 x.set_next(j.at("next").get<std::string>());
569582 x.set_previous(get_untyped(j, "previous"));
Test case

test/inputs/json/misc/127a1.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -760,6 +760,7 @@ namespace quicktype {
760760 x.set_id(j.at("id").get<std::string>());
761761 x.set_images(j.at("images").get<Images>());
762762 x.set_import_datetime(j.at("import_datetime").get<std::string>());
763+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
763764 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
764765 x.set_rating(j.at("rating").get<Rating>());
765766 x.set_slug(j.at("slug").get<std::string>());
@@ -799,6 +800,7 @@ namespace quicktype {
799800 if (!j.is_object()) throw std::runtime_error("Expected object");
800801 x.set_msg(j.at("msg").get<std::string>());
801802 x.set_response_id(j.at("response_id").get<std::string>());
803+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
802804 x.set_status(j.at("status").get<int64_t>());
803805 }
804806
@@ -811,8 +813,11 @@ namespace quicktype {
811813
812814 inline void from_json(const json & j, Pagination& x) {
813815 if (!j.is_object()) throw std::runtime_error("Expected object");
816+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
814817 x.set_count(j.at("count").get<int64_t>());
818+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
815819 x.set_offset(j.at("offset").get<int64_t>());
820+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
816821 x.set_total_count(j.at("total_count").get<int64_t>());
817822 }
Test case

test/inputs/json/misc/13d8d.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -165,6 +165,7 @@ namespace quicktype {
165165
166166 inline void from_json(const json & j, Street& x) {
167167 if (!j.is_object()) throw std::runtime_error("Expected object");
168+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
168169 x.set_id(j.at("id").get<int64_t>());
169170 x.set_name(j.at("name").get<std::string>());
170171 }
@@ -205,6 +206,7 @@ namespace quicktype {
205206 if (!j.is_object()) throw std::runtime_error("Expected object");
206207 x.set_category(j.at("category").get<std::string>());
207208 x.set_context(j.at("context").get<std::string>());
209+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
208210 x.set_id(j.at("id").get<int64_t>());
209211 x.set_location(j.at("location").get<Location>());
210212 x.set_location_subtype(j.at("location_subtype").get<std::string>());
Test case

test/inputs/json/misc/16bc5.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/176f1.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -275,6 +275,7 @@ namespace quicktype {
275275 inline void from_json(const json & j, TopLevel& x) {
276276 if (!j.is_object()) throw std::runtime_error("Expected object");
277277 x.set_message(j.at("message").get<std::vector<nlohmann::json>>());
278+ if (j.find("responseTime") != j.end() && !j.at("responseTime").is_number_integer()) throw std::runtime_error("Expected integer");
278279 x.set_response_time(j.at("responseTime").get<int64_t>());
279280 x.set_results(j.at("Results").get<Results>());
280281 x.set_status(j.at("status").get<std::string>());
Test case

test/inputs/json/misc/1a7f5.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/1b28c.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/1b409.json

1 generated file · +7 −0
Mcplusplusdefault / quicktype.hpp+7 −0
@@ -427,8 +427,11 @@ namespace quicktype {
427427
428428 inline void from_json(const json & j, Meta& x) {
429429 if (!j.is_object()) throw std::runtime_error("Expected object");
430+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
430431 x.set_limit(j.at("limit").get<int64_t>());
432+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
431433 x.set_offset(j.at("offset").get<int64_t>());
434+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
432435 x.set_total_count(j.at("total_count").get<int64_t>());
433436 }
434437
@@ -461,10 +464,12 @@ namespace quicktype {
461464 if (!j.is_object()) throw std::runtime_error("Expected object");
462465 x.set_bioguideid(j.at("bioguideid").get<std::string>());
463466 x.set_birthday(j.at("birthday").get<std::string>());
467+ if (j.find("cspanid") != j.end() && !j.at("cspanid").is_number_integer()) throw std::runtime_error("Expected integer");
464468 x.set_cspanid(j.at("cspanid").get<int64_t>());
465469 x.set_firstname(j.at("firstname").get<std::string>());
466470 x.set_gender(j.at("gender").get<Gender>());
467471 x.set_gender_label(j.at("gender_label").get<GenderLabel>());
472+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
468473 x.set_id(j.at("id").get<int64_t>());
469474 x.set_lastname(j.at("lastname").get<std::string>());
470475 x.set_link(j.at("link").get<std::string>());
@@ -507,9 +512,11 @@ namespace quicktype {
507512 x.set_congress_numbers(j.at("congress_numbers").get<std::vector<int64_t>>());
508513 x.set_current(j.at("current").get<bool>());
509514 x.set_description(j.at("description").get<std::string>());
515+ if (j.find("district") != j.end() && !j.at("district").is_number_integer()) throw std::runtime_error("Expected integer");
510516 x.set_district(j.at("district").get<int64_t>());
511517 x.set_enddate(j.at("enddate").get<std::string>());
512518 x.set_extra(j.at("extra").get<Extra>());
519+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
513520 x.set_id(j.at("id").get<int64_t>());
514521 x.set_leadership_title(get_stack_optional<std::string>(j, "leadership_title"));
515522 x.set_party(j.at("party").get<Party>());
Test case

test/inputs/json/misc/262f0.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -714,6 +714,7 @@ namespace quicktype {
714714
715715 inline void from_json(const json & j, Query& x) {
716716 if (!j.is_object()) throw std::runtime_error("Expected object");
717+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
717718 x.set_count(j.at("count").get<int64_t>());
718719 x.set_created(j.at("created").get<std::string>());
719720 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/26b49.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -762,6 +762,7 @@ namespace quicktype {
762762 x.set_id(j.at("id").get<std::string>());
763763 x.set_images(j.at("images").get<Images>());
764764 x.set_import_datetime(j.at("import_datetime").get<std::string>());
765+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
765766 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
766767 x.set_rating(j.at("rating").get<Rating>());
767768 x.set_slug(j.at("slug").get<std::string>());
@@ -801,6 +802,7 @@ namespace quicktype {
801802 if (!j.is_object()) throw std::runtime_error("Expected object");
802803 x.set_msg(j.at("msg").get<std::string>());
803804 x.set_response_id(j.at("response_id").get<std::string>());
805+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
804806 x.set_status(j.at("status").get<int64_t>());
805807 }
806808
@@ -813,8 +815,11 @@ namespace quicktype {
813815
814816 inline void from_json(const json & j, Pagination& x) {
815817 if (!j.is_object()) throw std::runtime_error("Expected object");
818+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
816819 x.set_count(j.at("count").get<int64_t>());
820+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
817821 x.set_offset(j.at("offset").get<int64_t>());
822+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
818823 x.set_total_count(j.at("total_count").get<int64_t>());
819824 }
Test case

test/inputs/json/misc/26c9c.json

1 generated file · +21 −0
Mcplusplusdefault / quicktype.hpp+21 −0
@@ -976,6 +976,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
976976 namespace quicktype {
977977 inline void from_json(const json & j, Top& x) {
978978 if (!j.is_object()) throw std::runtime_error("Expected object");
979+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
979980 x.set_count(j.at("count").get<int64_t>());
980981 x.set_item(j.at("item").get<std::string>());
981982 }
@@ -990,7 +991,9 @@ namespace quicktype {
990991 if (!j.is_object()) throw std::runtime_error("Expected object");
991992 x.set_average(get_stack_optional<std::string>(j, "average"));
992993 x.set_largest(j.at("largest").get<std::string>());
994+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
993995 x.set_non_null(j.at("non_null").get<int64_t>());
996+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
994997 x.set_null(j.at("null").get<int64_t>());
995998 x.set_smallest(j.at("smallest").get<std::string>());
996999 x.set_sum(get_stack_optional<std::string>(j, "sum"));
@@ -1031,11 +1034,15 @@ namespace quicktype {
10311034 x.set_field_name(j.at("fieldName").get<std::string>());
10321035 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
10331036 x.set_format(j.at("format").get<Format>());
1037+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
10341038 x.set_id(j.at("id").get<int64_t>());
10351039 x.set_name(j.at("name").get<std::string>());
1040+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
10361041 x.set_position(j.at("position").get<int64_t>());
10371042 x.set_render_type_name(j.at("renderTypeName").get<std::string>());
1043+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
10381044 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
1045+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
10391046 x.set_width(get_stack_optional<int64_t>(j, "width"));
10401047 }
10411048
@@ -1262,6 +1269,7 @@ namespace quicktype {
12621269
12631270 inline void from_json(const json & j, Expression& x) {
12641271 if (!j.is_object()) throw std::runtime_error("Expected object");
1272+ if (j.find("columnId") != j.end() && !j.at("columnId").is_number_integer()) throw std::runtime_error("Expected integer");
12651273 x.set_column_id(j.at("columnId").get<int64_t>());
12661274 x.set_type(j.at("type").get<std::string>());
12671275 }
@@ -1298,40 +1306,53 @@ namespace quicktype {
12981306 if (!j.is_object()) throw std::runtime_error("Expected object");
12991307 x.set_attribution(j.at("attribution").get<std::string>());
13001308 x.set_attribution_link(j.at("attributionLink").get<std::string>());
1309+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
13011310 x.set_average_rating(j.at("averageRating").get<int64_t>());
13021311 x.set_category(j.at("category").get<std::string>());
13031312 x.set_columns(j.at("columns").get<std::vector<Column>>());
1313+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
13041314 x.set_created_at(j.at("createdAt").get<int64_t>());
13051315 x.set_description(j.at("description").get<std::string>());
13061316 x.set_display_type(j.at("displayType").get<std::string>());
1317+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
13071318 x.set_download_count(j.at("downloadCount").get<int64_t>());
13081319 x.set_flags(j.at("flags").get<std::vector<std::string>>());
13091320 x.set_grants(j.at("grants").get<std::vector<Grant>>());
13101321 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
13111322 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
13121323 x.set_id(j.at("id").get<std::string>());
1324+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
13131325 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
13141326 x.set_locale(j.at("locale").get<std::string>());
13151327 x.set_metadata(j.at("metadata").get<Metadata>());
13161328 x.set_name(j.at("name").get<std::string>());
13171329 x.set_new_backend(j.at("newBackend").get<bool>());
1330+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
13181331 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
1332+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
13191333 x.set_oid(j.at("oid").get<int64_t>());
13201334 x.set_owner(j.at("owner").get<Owner>());
13211335 x.set_provenance(j.at("provenance").get<std::string>());
13221336 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
1337+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
13231338 x.set_publication_date(j.at("publicationDate").get<int64_t>());
1339+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
13241340 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
13251341 x.set_publication_stage(j.at("publicationStage").get<std::string>());
13261342 x.set_query(j.at("query").get<Query>());
13271343 x.set_rights(j.at("rights").get<std::vector<std::string>>());
1344+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
13281345 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
13291346 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
13301347 x.set_table_author(j.at("tableAuthor").get<Owner>());
1348+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
13311349 x.set_table_id(j.at("tableId").get<int64_t>());
13321350 x.set_tags(j.at("tags").get<std::vector<std::string>>());
1351+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
13331352 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
1353+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
13341354 x.set_view_count(j.at("viewCount").get<int64_t>());
1355+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
13351356 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
13361357 x.set_view_type(j.at("viewType").get<std::string>());
13371358 }
Test case

test/inputs/json/misc/27332.json

1 generated file · +13 −0
Mcplusplusdefault / quicktype.hpp+13 −0
@@ -746,16 +746,20 @@ namespace quicktype {
746746 inline void from_json(const json & j, Oembed& x) {
747747 if (!j.is_object()) throw std::runtime_error("Expected object");
748748 x.set_description(j.at("description").get<std::string>());
749+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
749750 x.set_height(j.at("height").get<int64_t>());
750751 x.set_html(j.at("html").get<std::string>());
751752 x.set_provider_name(j.at("provider_name").get<std::string>());
752753 x.set_provider_url(j.at("provider_url").get<std::string>());
754+ if (j.find("thumbnail_height") != j.end() && !j.at("thumbnail_height").is_number_integer()) throw std::runtime_error("Expected integer");
753755 x.set_thumbnail_height(j.at("thumbnail_height").get<int64_t>());
754756 x.set_thumbnail_url(j.at("thumbnail_url").get<std::string>());
757+ if (j.find("thumbnail_width") != j.end() && !j.at("thumbnail_width").is_number_integer()) throw std::runtime_error("Expected integer");
755758 x.set_thumbnail_width(j.at("thumbnail_width").get<int64_t>());
756759 x.set_title(j.at("title").get<std::string>());
757760 x.set_type(j.at("type").get<std::string>());
758761 x.set_version(j.at("version").get<std::string>());
762+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
759763 x.set_width(j.at("width").get<int64_t>());
760764 }
761765
@@ -790,8 +794,10 @@ namespace quicktype {
790794 inline void from_json(const json & j, MediaEmbed& x) {
791795 if (!j.is_object()) throw std::runtime_error("Expected object");
792796 x.set_content(get_stack_optional<std::string>(j, "content"));
797+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
793798 x.set_height(get_stack_optional<int64_t>(j, "height"));
794799 x.set_scrolling(get_stack_optional<bool>(j, "scrolling"));
800+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
795801 x.set_width(get_stack_optional<int64_t>(j, "width"));
796802 }
797803
@@ -805,8 +811,10 @@ namespace quicktype {
805811
806812 inline void from_json(const json & j, Source& x) {
807813 if (!j.is_object()) throw std::runtime_error("Expected object");
814+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
808815 x.set_height(j.at("height").get<int64_t>());
809816 x.set_url(j.at("url").get<std::string>());
817+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
810818 x.set_width(j.at("width").get<int64_t>());
811819 }
812820
@@ -875,8 +883,10 @@ namespace quicktype {
875883 x.set_created_utc(j.at("created_utc").get<double>());
876884 x.set_distinguished(get_stack_optional<std::string>(j, "distinguished"));
877885 x.set_domain(j.at("domain").get<Domain>());
886+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
878887 x.set_downs(j.at("downs").get<int64_t>());
879888 x.set_edited(j.at("edited").get<bool>());
889+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
880890 x.set_gilded(j.at("gilded").get<int64_t>());
881891 x.set_hidden(j.at("hidden").get<bool>());
882892 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -891,6 +901,7 @@ namespace quicktype {
891901 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
892902 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
893903 x.set_name(j.at("name").get<std::string>());
904+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
894905 x.set_num_comments(j.at("num_comments").get<int64_t>());
895906 x.set_num_reports(get_untyped(j, "num_reports"));
896907 x.set_over_18(j.at("over_18").get<bool>());
@@ -901,6 +912,7 @@ namespace quicktype {
901912 x.set_removal_reason(get_untyped(j, "removal_reason"));
902913 x.set_report_reasons(get_untyped(j, "report_reasons"));
903914 x.set_saved(j.at("saved").get<bool>());
915+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
904916 x.set_score(j.at("score").get<int64_t>());
905917 x.set_secure_media(get_stack_optional<Media>(j, "secure_media"));
906918 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -917,6 +929,7 @@ namespace quicktype {
917929 x.set_thumbnail_height(get_stack_optional<int64_t>(j, "thumbnail_height"));
918930 x.set_thumbnail_width(get_stack_optional<int64_t>(j, "thumbnail_width"));
919931 x.set_title(j.at("title").get<std::string>());
932+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
920933 x.set_ups(j.at("ups").get<int64_t>());
921934 x.set_url(j.at("url").get<std::string>());
922935 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/29f47.json

1 generated file · +7 −0
Mcplusplusdefault / quicktype.hpp+7 −0
@@ -696,8 +696,10 @@ namespace quicktype {
696696
697697 inline void from_json(const json & j, Source& x) {
698698 if (!j.is_object()) throw std::runtime_error("Expected object");
699+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
699700 x.set_height(j.at("height").get<int64_t>());
700701 x.set_url(j.at("url").get<std::string>());
702+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
701703 x.set_width(j.at("width").get<int64_t>());
702704 }
703705
@@ -779,8 +781,10 @@ namespace quicktype {
779781 x.set_created_utc(j.at("created_utc").get<double>());
780782 x.set_distinguished(j.at("distinguished").get<Distinguished>());
781783 x.set_domain(j.at("domain").get<Domain>());
784+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
782785 x.set_downs(j.at("downs").get<int64_t>());
783786 x.set_edited(j.at("edited").get<Edited>());
787+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
784788 x.set_gilded(j.at("gilded").get<int64_t>());
785789 x.set_hidden(j.at("hidden").get<bool>());
786790 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -795,6 +799,7 @@ namespace quicktype {
795799 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
796800 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
797801 x.set_name(j.at("name").get<std::string>());
802+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
798803 x.set_num_comments(j.at("num_comments").get<int64_t>());
799804 x.set_num_reports(get_untyped(j, "num_reports"));
800805 x.set_over_18(j.at("over_18").get<bool>());
@@ -805,6 +810,7 @@ namespace quicktype {
805810 x.set_removal_reason(get_untyped(j, "removal_reason"));
806811 x.set_report_reasons(get_untyped(j, "report_reasons"));
807812 x.set_saved(j.at("saved").get<bool>());
813+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
808814 x.set_score(j.at("score").get<int64_t>());
809815 x.set_secure_media(get_untyped(j, "secure_media"));
810816 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -821,6 +827,7 @@ namespace quicktype {
821827 x.set_thumbnail_height(get_stack_optional<int64_t>(j, "thumbnail_height"));
822828 x.set_thumbnail_width(get_stack_optional<int64_t>(j, "thumbnail_width"));
823829 x.set_title(j.at("title").get<std::string>());
830+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
824831 x.set_ups(j.at("ups").get<int64_t>());
825832 x.set_url(j.at("url").get<std::string>());
826833 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/2d4e2.json

1 generated file · +6 −0
Mcplusplusdefault / quicktype.hpp+6 −0
@@ -458,8 +458,11 @@ namespace quicktype {
458458
459459 inline void from_json(const json & j, Meta& x) {
460460 if (!j.is_object()) throw std::runtime_error("Expected object");
461+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
461462 x.set_limit(j.at("limit").get<int64_t>());
463+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
462464 x.set_offset(j.at("offset").get<int64_t>());
465+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
463466 x.set_total_count(j.at("total_count").get<int64_t>());
464467 }
465468
@@ -492,10 +495,12 @@ namespace quicktype {
492495 if (!j.is_object()) throw std::runtime_error("Expected object");
493496 x.set_bioguideid(j.at("bioguideid").get<std::string>());
494497 x.set_birthday(j.at("birthday").get<std::string>());
498+ if (j.find("cspanid") != j.end() && !j.at("cspanid").is_number_integer()) throw std::runtime_error("Expected integer");
495499 x.set_cspanid(j.at("cspanid").get<int64_t>());
496500 x.set_firstname(j.at("firstname").get<std::string>());
497501 x.set_gender(j.at("gender").get<Gender>());
498502 x.set_gender_label(j.at("gender_label").get<GenderLabel>());
503+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
499504 x.set_id(j.at("id").get<int64_t>());
500505 x.set_lastname(j.at("lastname").get<std::string>());
501506 x.set_link(j.at("link").get<std::string>());
@@ -541,6 +546,7 @@ namespace quicktype {
541546 x.set_district(get_untyped(j, "district"));
542547 x.set_enddate(j.at("enddate").get<std::string>());
543548 x.set_extra(j.at("extra").get<Extra>());
549+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
544550 x.set_id(j.at("id").get<int64_t>());
545551 x.set_leadership_title(get_stack_optional<std::string>(j, "leadership_title"));
546552 x.set_party(j.at("party").get<Party>());
Test case

test/inputs/json/misc/2df80.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -271,9 +271,12 @@ namespace quicktype {
271271
272272 inline void from_json(const json & j, FluffyTopLevel& x) {
273273 if (!j.is_object()) throw std::runtime_error("Expected object");
274+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
274275 x.set_page(j.at("page").get<int64_t>());
276+ if (j.find("pages") != j.end() && !j.at("pages").is_number_integer()) throw std::runtime_error("Expected integer");
275277 x.set_pages(j.at("pages").get<int64_t>());
276278 x.set_per_page(j.at("per_page").get<std::string>());
279+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
277280 x.set_total(j.at("total").get<int64_t>());
278281 }
Test case

test/inputs/json/misc/32431.json

1 generated file · +8 −0
Mcplusplusdefault / quicktype.hpp+8 −0
@@ -410,15 +410,20 @@ namespace quicktype {
410410 x.set_nst(get_stack_optional<int64_t>(j, "nst"));
411411 x.set_place(j.at("place").get<std::string>());
412412 x.set_rms(j.at("rms").get<double>());
413+ if (j.find("sig") != j.end() && !j.at("sig").is_number_integer()) throw std::runtime_error("Expected integer");
413414 x.set_sig(j.at("sig").get<int64_t>());
414415 x.set_sources(j.at("sources").get<std::string>());
415416 x.set_status(j.at("status").get<Status>());
417+ if (j.find("time") != j.end() && !j.at("time").is_number_integer()) throw std::runtime_error("Expected integer");
416418 x.set_time(j.at("time").get<int64_t>());
417419 x.set_title(j.at("title").get<std::string>());
420+ if (j.find("tsunami") != j.end() && !j.at("tsunami").is_number_integer()) throw std::runtime_error("Expected integer");
418421 x.set_tsunami(j.at("tsunami").get<int64_t>());
419422 x.set_type(j.at("type").get<PropertiesType>());
420423 x.set_types(j.at("types").get<std::string>());
424+ if (j.find("tz") != j.end() && !j.at("tz").is_number_integer()) throw std::runtime_error("Expected integer");
421425 x.set_tz(j.at("tz").get<int64_t>());
426+ if (j.find("updated") != j.end() && !j.at("updated").is_number_integer()) throw std::runtime_error("Expected integer");
422427 x.set_updated(j.at("updated").get<int64_t>());
423428 x.set_url(j.at("url").get<std::string>());
424429 }
@@ -472,8 +477,11 @@ namespace quicktype {
472477 inline void from_json(const json & j, Metadata& x) {
473478 if (!j.is_object()) throw std::runtime_error("Expected object");
474479 x.set_api(j.at("api").get<std::string>());
480+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
475481 x.set_count(j.at("count").get<int64_t>());
482+ if (j.find("generated") != j.end() && !j.at("generated").is_number_integer()) throw std::runtime_error("Expected integer");
476483 x.set_generated(j.at("generated").get<int64_t>());
484+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
477485 x.set_status(j.at("status").get<int64_t>());
478486 x.set_title(j.at("title").get<std::string>());
479487 x.set_url(j.at("url").get<std::string>());
Test case

test/inputs/json/misc/32d5c.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -146,9 +146,11 @@ namespace quicktype {
146146 if (!j.is_object()) throw std::runtime_error("Expected object");
147147 x.set_birth_date(get_stack_optional<std::string>(j, "BirthDate"));
148148 x.set_birth_date_is_protected(j.at("BirthDateIsProtected").get<bool>());
149+ if (j.find("GenderTypeID") != j.end() && !j.at("GenderTypeID").is_number_integer()) throw std::runtime_error("Expected integer");
149150 x.set_gender_type_id(j.at("GenderTypeID").get<int64_t>());
150151 x.set_notes(j.at("Notes").get<std::string>());
151152 x.set_parliamentary_name(j.at("ParliamentaryName").get<std::string>());
153+ if (j.find("PersonID") != j.end() && !j.at("PersonID").is_number_integer()) throw std::runtime_error("Expected integer");
152154 x.set_person_id(j.at("PersonID").get<int64_t>());
153155 x.set_photo_url(j.at("PhotoURL").get<std::string>());
154156 x.set_preferred_name(j.at("PreferredName").get<std::string>());
Test case

test/inputs/json/misc/337ed.json

1 generated file · +6 −0
Mcplusplusdefault / quicktype.hpp+6 −0
@@ -384,6 +384,7 @@ namespace quicktype {
384384
385385 inline void from_json(const json & j, CustomIncome& x) {
386386 if (!j.is_object()) throw std::runtime_error("Expected object");
387+ if (j.find("amount") != j.end() && !j.at("amount").is_number_integer()) throw std::runtime_error("Expected integer");
387388 x.set_amount(j.at("amount").get<int64_t>());
388389 x.set_created_at(j.at("created_at").get<std::string>());
389390 x.set_id(j.at("id").get<std::string>());
@@ -416,8 +417,10 @@ namespace quicktype {
416417 x.set_direct_rep_costs_max(get_untyped(j, "direct_rep_costs_max"));
417418 x.set_direct_rep_costs_min(get_untyped(j, "direct_rep_costs_min"));
418419 x.set_end_date(j.at("end_date").get<std::string>());
420+ if (j.find("eur_sources_grants") != j.end() && !j.at("eur_sources_grants").is_number_integer()) throw std::runtime_error("Expected integer");
419421 x.set_eur_sources_grants(j.at("eur_sources_grants").get<int64_t>());
420422 x.set_eur_sources_grants_src(get_stack_optional<std::string>(j, "eur_sources_grants_src"));
423+ if (j.find("eur_sources_procurement") != j.end() && !j.at("eur_sources_procurement").is_number_integer()) throw std::runtime_error("Expected integer");
421424 x.set_eur_sources_procurement(j.at("eur_sources_procurement").get<int64_t>());
422425 x.set_eur_sources_procurement_src(get_stack_optional<std::string>(j, "eur_sources_procurement_src"));
423426 x.set_id(j.at("id").get<std::string>());
@@ -480,10 +483,13 @@ namespace quicktype {
480483
481484 inline void from_json(const json & j, TopLevel& x) {
482485 if (!j.is_object()) throw std::runtime_error("Expected object");
486+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
483487 x.set_count(j.at("count").get<int64_t>());
484488 x.set_facets(j.at("facets").get<Facets>());
489+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
485490 x.set_limit(j.at("limit").get<int64_t>());
486491 x.set_next(j.at("next").get<std::string>());
492+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
487493 x.set_offset(j.at("offset").get<int64_t>());
488494 x.set_previous(j.at("previous").get<bool>());
489495 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/34702.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -378,6 +378,7 @@ namespace quicktype {
378378 x.set_longitude(j.at("longitude").get<double>());
379379 x.set_no(get_stack_optional<std::string>(j, "no"));
380380 x.set_phone(j.at("phone").get<double>());
381+ if (j.find("postcode") != j.end() && !j.at("postcode").is_number_integer()) throw std::runtime_error("Expected integer");
381382 x.set_postcode(j.at("postcode").get<int64_t>());
382383 x.set_psa(j.at("psa").get<std::string>());
383384 x.set_region(j.at("region").get<Region>());
@@ -428,6 +429,7 @@ namespace quicktype {
428429 if (!j.is_object()) throw std::runtime_error("Expected object");
429430 x.set_crs(j.at("crs").get<Crs>());
430431 x.set_features(j.at("features").get<std::vector<Feature>>());
432+ if (j.find("totalFeatures") != j.end() && !j.at("totalFeatures").is_number_integer()) throw std::runtime_error("Expected integer");
431433 x.set_total_features(j.at("totalFeatures").get<int64_t>());
432434 x.set_type(j.at("type").get<std::string>());
433435 }
Test case

test/inputs/json/misc/3659d.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/3e9a3.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -275,6 +275,7 @@ namespace quicktype {
275275 inline void from_json(const json & j, TopLevel& x) {
276276 if (!j.is_object()) throw std::runtime_error("Expected object");
277277 x.set_message(j.at("message").get<std::vector<nlohmann::json>>());
278+ if (j.find("responseTime") != j.end() && !j.at("responseTime").is_number_integer()) throw std::runtime_error("Expected integer");
278279 x.set_response_time(j.at("responseTime").get<int64_t>());
279280 x.set_results(j.at("Results").get<Results>());
280281 x.set_status(j.at("status").get<std::string>());
Test case

test/inputs/json/misc/3f1ce.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -714,6 +714,7 @@ namespace quicktype {
714714
715715 inline void from_json(const json & j, Query& x) {
716716 if (!j.is_object()) throw std::runtime_error("Expected object");
717+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
717718 x.set_count(j.at("count").get<int64_t>());
718719 x.set_created(j.at("created").get<std::string>());
719720 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/421d4.json

1 generated file · +20 −0
Mcplusplusdefault / quicktype.hpp+20 −0
@@ -645,6 +645,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
645645 namespace quicktype {
646646 inline void from_json(const json & j, Top& x) {
647647 if (!j.is_object()) throw std::runtime_error("Expected object");
648+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
648649 x.set_count(j.at("count").get<int64_t>());
649650 x.set_item(j.at("item").get<std::string>());
650651 }
@@ -659,7 +660,9 @@ namespace quicktype {
659660 if (!j.is_object()) throw std::runtime_error("Expected object");
660661 x.set_average(get_stack_optional<std::string>(j, "average"));
661662 x.set_largest(get_stack_optional<std::string>(j, "largest"));
663+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
662664 x.set_non_null(j.at("non_null").get<int64_t>());
665+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
663666 x.set_null(j.at("null").get<int64_t>());
664667 x.set_smallest(get_stack_optional<std::string>(j, "smallest"));
665668 x.set_sum(get_stack_optional<std::string>(j, "sum"));
@@ -695,11 +698,15 @@ namespace quicktype {
695698 x.set_field_name(j.at("fieldName").get<std::string>());
696699 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
697700 x.set_format(j.at("format").get<Query>());
701+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
698702 x.set_id(j.at("id").get<int64_t>());
699703 x.set_name(j.at("name").get<std::string>());
704+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
700705 x.set_position(j.at("position").get<int64_t>());
701706 x.set_render_type_name(j.at("renderTypeName").get<std::string>());
707+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
702708 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
709+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
703710 x.set_width(get_stack_optional<int64_t>(j, "width"));
704711 }
705712
@@ -797,18 +804,22 @@ namespace quicktype {
797804 inline void from_json(const json & j, View& x) {
798805 if (!j.is_object()) throw std::runtime_error("Expected object");
799806 x.set_attribution(j.at("attribution").get<std::string>());
807+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
800808 x.set_average_rating(j.at("averageRating").get<int64_t>());
801809 x.set_category(j.at("category").get<std::string>());
802810 x.set_columns(j.at("columns").get<std::vector<Column>>());
811+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
803812 x.set_created_at(j.at("createdAt").get<int64_t>());
804813 x.set_description(j.at("description").get<std::string>());
805814 x.set_display_type(j.at("displayType").get<std::string>());
815+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
806816 x.set_download_count(j.at("downloadCount").get<int64_t>());
807817 x.set_flags(j.at("flags").get<std::vector<std::string>>());
808818 x.set_grants(j.at("grants").get<std::vector<Grant>>());
809819 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
810820 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
811821 x.set_id(j.at("id").get<std::string>());
822+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
812823 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
813824 x.set_license(j.at("license").get<License>());
814825 x.set_license_id(j.at("licenseId").get<std::string>());
@@ -816,24 +827,33 @@ namespace quicktype {
816827 x.set_metadata(j.at("metadata").get<Metadata>());
817828 x.set_name(j.at("name").get<std::string>());
818829 x.set_new_backend(j.at("newBackend").get<bool>());
830+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
819831 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
832+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
820833 x.set_oid(j.at("oid").get<int64_t>());
821834 x.set_owner(j.at("owner").get<Owner>());
822835 x.set_provenance(j.at("provenance").get<std::string>());
823836 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
837+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
824838 x.set_publication_date(j.at("publicationDate").get<int64_t>());
839+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
825840 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
826841 x.set_publication_stage(j.at("publicationStage").get<std::string>());
827842 x.set_query(j.at("query").get<Query>());
828843 x.set_rights(j.at("rights").get<std::vector<std::string>>());
829844 x.set_row_class(j.at("rowClass").get<std::string>());
845+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
830846 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
831847 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
832848 x.set_table_author(j.at("tableAuthor").get<Owner>());
849+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
833850 x.set_table_id(j.at("tableId").get<int64_t>());
834851 x.set_tags(j.at("tags").get<std::vector<std::string>>());
852+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
835853 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
854+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
836855 x.set_view_count(j.at("viewCount").get<int64_t>());
856+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
837857 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
838858 x.set_view_type(j.at("viewType").get<std::string>());
839859 }
Test case

test/inputs/json/misc/437e7.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -741,6 +741,7 @@ namespace quicktype {
741741 x.set_id(j.at("id").get<std::string>());
742742 x.set_images(j.at("images").get<Images>());
743743 x.set_import_datetime(j.at("import_datetime").get<std::string>());
744+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
744745 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
745746 x.set_rating(j.at("rating").get<Rating>());
746747 x.set_slug(j.at("slug").get<std::string>());
@@ -780,6 +781,7 @@ namespace quicktype {
780781 if (!j.is_object()) throw std::runtime_error("Expected object");
781782 x.set_msg(j.at("msg").get<std::string>());
782783 x.set_response_id(j.at("response_id").get<std::string>());
784+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
783785 x.set_status(j.at("status").get<int64_t>());
784786 }
785787
@@ -792,8 +794,11 @@ namespace quicktype {
792794
793795 inline void from_json(const json & j, Pagination& x) {
794796 if (!j.is_object()) throw std::runtime_error("Expected object");
797+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
795798 x.set_count(j.at("count").get<int64_t>());
799+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
796800 x.set_offset(j.at("offset").get<int64_t>());
801+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
797802 x.set_total_count(j.at("total_count").get<int64_t>());
798803 }
Test case

test/inputs/json/misc/43970.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -64,6 +64,7 @@ namespace quicktype {
6464
6565 inline void from_json(const json & j, TopLevelElement& x) {
6666 if (!j.is_object()) throw std::runtime_error("Expected object");
67+ if (j.find("ID") != j.end() && !j.at("ID").is_number_integer()) throw std::runtime_error("Expected integer");
6768 x.set_id(j.at("ID").get<int64_t>());
6869 x.set_name(j.at("Name").get<std::string>());
6970 x.set_notes(j.at("Notes").get<std::string>());
Test case

test/inputs/json/misc/458db.json

1 generated file · +4 −0
Mcplusplusdefault / quicktype.hpp+4 −0
@@ -238,6 +238,7 @@ namespace quicktype {
238238 inline void from_json(const json & j, ResponseInfo& x) {
239239 if (!j.is_object()) throw std::runtime_error("Expected object");
240240 x.set_developer_message(j.at("developerMessage").get<std::string>());
241+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
241242 x.set_status(j.at("status").get<int64_t>());
242243 }
243244
@@ -249,8 +250,11 @@ namespace quicktype {
249250
250251 inline void from_json(const json & j, Resultset& x) {
251252 if (!j.is_object()) throw std::runtime_error("Expected object");
253+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
252254 x.set_count(j.at("count").get<int64_t>());
255+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
253256 x.set_page(j.at("page").get<int64_t>());
257+ if (j.find("pagesize") != j.end() && !j.at("pagesize").is_number_integer()) throw std::runtime_error("Expected integer");
254258 x.set_pagesize(j.at("pagesize").get<int64_t>());
255259 }
Test case

test/inputs/json/misc/4961a.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/4a0d7.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/4a455.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -296,6 +296,7 @@ namespace quicktype {
296296 if (!j.is_object()) throw std::runtime_error("Expected object");
297297 x.set_crs(j.at("crs").get<Crs>());
298298 x.set_features(j.at("features").get<std::vector<Feature>>());
299+ if (j.find("totalFeatures") != j.end() && !j.at("totalFeatures").is_number_integer()) throw std::runtime_error("Expected integer");
299300 x.set_total_features(j.at("totalFeatures").get<int64_t>());
300301 x.set_type(j.at("type").get<std::string>());
301302 }
Test case

test/inputs/json/misc/4c547.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/4d6fb.json

1 generated file · +13 −0
Mcplusplusdefault / quicktype.hpp+13 −0
@@ -753,16 +753,20 @@ namespace quicktype {
753753 if (!j.is_object()) throw std::runtime_error("Expected object");
754754 x.set_author_name(j.at("author_name").get<std::string>());
755755 x.set_author_url(j.at("author_url").get<std::string>());
756+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
756757 x.set_height(j.at("height").get<int64_t>());
757758 x.set_html(j.at("html").get<std::string>());
758759 x.set_provider_name(j.at("provider_name").get<std::string>());
759760 x.set_provider_url(j.at("provider_url").get<std::string>());
761+ if (j.find("thumbnail_height") != j.end() && !j.at("thumbnail_height").is_number_integer()) throw std::runtime_error("Expected integer");
760762 x.set_thumbnail_height(j.at("thumbnail_height").get<int64_t>());
761763 x.set_thumbnail_url(j.at("thumbnail_url").get<std::string>());
764+ if (j.find("thumbnail_width") != j.end() && !j.at("thumbnail_width").is_number_integer()) throw std::runtime_error("Expected integer");
762765 x.set_thumbnail_width(j.at("thumbnail_width").get<int64_t>());
763766 x.set_title(j.at("title").get<std::string>());
764767 x.set_type(j.at("type").get<std::string>());
765768 x.set_version(j.at("version").get<std::string>());
769+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
766770 x.set_width(j.at("width").get<int64_t>());
767771 }
768772
@@ -798,8 +802,10 @@ namespace quicktype {
798802 inline void from_json(const json & j, MediaEmbed& x) {
799803 if (!j.is_object()) throw std::runtime_error("Expected object");
800804 x.set_content(get_stack_optional<std::string>(j, "content"));
805+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
801806 x.set_height(get_stack_optional<int64_t>(j, "height"));
802807 x.set_scrolling(get_stack_optional<bool>(j, "scrolling"));
808+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
803809 x.set_width(get_stack_optional<int64_t>(j, "width"));
804810 }
805811
@@ -813,8 +819,10 @@ namespace quicktype {
813819
814820 inline void from_json(const json & j, Source& x) {
815821 if (!j.is_object()) throw std::runtime_error("Expected object");
822+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
816823 x.set_height(j.at("height").get<int64_t>());
817824 x.set_url(j.at("url").get<std::string>());
825+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
818826 x.set_width(j.at("width").get<int64_t>());
819827 }
820828
@@ -883,8 +891,10 @@ namespace quicktype {
883891 x.set_created_utc(j.at("created_utc").get<double>());
884892 x.set_distinguished(get_untyped(j, "distinguished"));
885893 x.set_domain(j.at("domain").get<std::string>());
894+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
886895 x.set_downs(j.at("downs").get<int64_t>());
887896 x.set_edited(j.at("edited").get<bool>());
897+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
888898 x.set_gilded(j.at("gilded").get<int64_t>());
889899 x.set_hidden(j.at("hidden").get<bool>());
890900 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -899,6 +909,7 @@ namespace quicktype {
899909 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
900910 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
901911 x.set_name(j.at("name").get<std::string>());
912+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
902913 x.set_num_comments(j.at("num_comments").get<int64_t>());
903914 x.set_num_reports(get_untyped(j, "num_reports"));
904915 x.set_over_18(j.at("over_18").get<bool>());
@@ -909,6 +920,7 @@ namespace quicktype {
909920 x.set_removal_reason(get_untyped(j, "removal_reason"));
910921 x.set_report_reasons(get_untyped(j, "report_reasons"));
911922 x.set_saved(j.at("saved").get<bool>());
923+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
912924 x.set_score(j.at("score").get<int64_t>());
913925 x.set_secure_media(get_stack_optional<Media>(j, "secure_media"));
914926 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -925,6 +937,7 @@ namespace quicktype {
925937 x.set_thumbnail_height(get_stack_optional<int64_t>(j, "thumbnail_height"));
926938 x.set_thumbnail_width(get_stack_optional<int64_t>(j, "thumbnail_width"));
927939 x.set_title(j.at("title").get<std::string>());
940+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
928941 x.set_ups(j.at("ups").get<int64_t>());
929942 x.set_url(j.at("url").get<std::string>());
930943 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/4e336.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/54d32.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -173,10 +173,13 @@ namespace quicktype {
173173
174174 inline void from_json(const json & j, TopLevel& x) {
175175 if (!j.is_object()) throw std::runtime_error("Expected object");
176+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
176177 x.set_count(j.at("count").get<int64_t>());
177178 x.set_facets(j.at("facets").get<Facets>());
179+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
178180 x.set_limit(j.at("limit").get<int64_t>());
179181 x.set_next(j.at("next").get<std::string>());
182+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
180183 x.set_offset(j.at("offset").get<int64_t>());
181184 x.set_previous(j.at("previous").get<bool>());
182185 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/5eae5.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -70,6 +70,7 @@ namespace quicktype {
7070 inline void from_json(const json & j, TopLevelElement& x) {
7171 if (!j.is_object()) throw std::runtime_error("Expected object");
7272 x.set_date(j.at("Date").get<std::string>());
73+ if (j.find("ID") != j.end() && !j.at("ID").is_number_integer()) throw std::runtime_error("Expected integer");
7374 x.set_id(j.at("ID").get<int64_t>());
7475 x.set_sponsor(j.at("Sponsor").get<std::string>());
7576 x.set_title(j.at("Title").get<std::string>());
Test case

test/inputs/json/misc/5f7fe.json

1 generated file · +21 −0
Mcplusplusdefault / quicktype.hpp+21 −0
@@ -961,6 +961,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
961961 namespace quicktype {
962962 inline void from_json(const json & j, Top& x) {
963963 if (!j.is_object()) throw std::runtime_error("Expected object");
964+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
964965 x.set_count(j.at("count").get<int64_t>());
965966 x.set_item(j.at("item").get<std::string>());
966967 }
@@ -974,7 +975,9 @@ namespace quicktype {
974975 inline void from_json(const json & j, CachedContents& x) {
975976 if (!j.is_object()) throw std::runtime_error("Expected object");
976977 x.set_largest(j.at("largest").get<std::string>());
978+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
977979 x.set_non_null(j.at("non_null").get<int64_t>());
980+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
978981 x.set_null(j.at("null").get<int64_t>());
979982 x.set_smallest(j.at("smallest").get<std::string>());
980983 x.set_top(j.at("top").get<std::vector<Top>>());
@@ -1008,11 +1011,15 @@ namespace quicktype {
10081011 x.set_field_name(j.at("fieldName").get<std::string>());
10091012 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
10101013 x.set_format(j.at("format").get<Format>());
1014+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
10111015 x.set_id(j.at("id").get<int64_t>());
10121016 x.set_name(j.at("name").get<std::string>());
1017+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
10131018 x.set_position(j.at("position").get<int64_t>());
10141019 x.set_render_type_name(j.at("renderTypeName").get<TypeName>());
1020+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
10151021 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
1022+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
10161023 x.set_width(get_stack_optional<int64_t>(j, "width"));
10171024 }
10181025
@@ -1239,6 +1246,7 @@ namespace quicktype {
12391246
12401247 inline void from_json(const json & j, Expression& x) {
12411248 if (!j.is_object()) throw std::runtime_error("Expected object");
1249+ if (j.find("columnId") != j.end() && !j.at("columnId").is_number_integer()) throw std::runtime_error("Expected integer");
12421250 x.set_column_id(j.at("columnId").get<int64_t>());
12431251 x.set_type(j.at("type").get<std::string>());
12441252 }
@@ -1275,40 +1283,53 @@ namespace quicktype {
12751283 if (!j.is_object()) throw std::runtime_error("Expected object");
12761284 x.set_attribution(j.at("attribution").get<std::string>());
12771285 x.set_attribution_link(j.at("attributionLink").get<std::string>());
1286+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
12781287 x.set_average_rating(j.at("averageRating").get<int64_t>());
12791288 x.set_category(j.at("category").get<std::string>());
12801289 x.set_columns(j.at("columns").get<std::vector<Column>>());
1290+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
12811291 x.set_created_at(j.at("createdAt").get<int64_t>());
12821292 x.set_description(j.at("description").get<std::string>());
12831293 x.set_display_type(j.at("displayType").get<std::string>());
1294+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
12841295 x.set_download_count(j.at("downloadCount").get<int64_t>());
12851296 x.set_flags(j.at("flags").get<std::vector<std::string>>());
12861297 x.set_grants(j.at("grants").get<std::vector<Grant>>());
12871298 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
12881299 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
12891300 x.set_id(j.at("id").get<std::string>());
1301+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
12901302 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
12911303 x.set_locale(j.at("locale").get<std::string>());
12921304 x.set_metadata(j.at("metadata").get<Metadata>());
12931305 x.set_name(j.at("name").get<std::string>());
12941306 x.set_new_backend(j.at("newBackend").get<bool>());
1307+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
12951308 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
1309+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
12961310 x.set_oid(j.at("oid").get<int64_t>());
12971311 x.set_owner(j.at("owner").get<Owner>());
12981312 x.set_provenance(j.at("provenance").get<std::string>());
12991313 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
1314+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
13001315 x.set_publication_date(j.at("publicationDate").get<int64_t>());
1316+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
13011317 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
13021318 x.set_publication_stage(j.at("publicationStage").get<std::string>());
13031319 x.set_query(j.at("query").get<Query>());
13041320 x.set_rights(j.at("rights").get<std::vector<std::string>>());
1321+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
13051322 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
13061323 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
13071324 x.set_table_author(j.at("tableAuthor").get<Owner>());
1325+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
13081326 x.set_table_id(j.at("tableId").get<int64_t>());
13091327 x.set_tags(j.at("tags").get<std::vector<std::string>>());
1328+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
13101329 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
1330+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
13111331 x.set_view_count(j.at("viewCount").get<int64_t>());
1332+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
13121333 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
13131334 x.set_view_type(j.at("viewType").get<std::string>());
13141335 }
Test case

test/inputs/json/misc/617e8.json

1 generated file · +21 −0
Mcplusplusdefault / quicktype.hpp+21 −0
@@ -956,6 +956,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
956956 namespace quicktype {
957957 inline void from_json(const json & j, Top& x) {
958958 if (!j.is_object()) throw std::runtime_error("Expected object");
959+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
959960 x.set_count(j.at("count").get<int64_t>());
960961 x.set_item(j.at("item").get<std::string>());
961962 }
@@ -969,7 +970,9 @@ namespace quicktype {
969970 inline void from_json(const json & j, CachedContents& x) {
970971 if (!j.is_object()) throw std::runtime_error("Expected object");
971972 x.set_largest(j.at("largest").get<std::string>());
973+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
972974 x.set_non_null(j.at("non_null").get<int64_t>());
975+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
973976 x.set_null(j.at("null").get<int64_t>());
974977 x.set_smallest(j.at("smallest").get<std::string>());
975978 x.set_top(j.at("top").get<std::vector<Top>>());
@@ -1004,11 +1007,15 @@ namespace quicktype {
10041007 x.set_field_name(j.at("fieldName").get<std::string>());
10051008 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
10061009 x.set_format(j.at("format").get<Format>());
1010+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
10071011 x.set_id(j.at("id").get<int64_t>());
10081012 x.set_name(j.at("name").get<std::string>());
1013+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
10091014 x.set_position(j.at("position").get<int64_t>());
10101015 x.set_render_type_name(j.at("renderTypeName").get<TypeName>());
1016+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
10111017 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
1018+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
10121019 x.set_width(get_stack_optional<int64_t>(j, "width"));
10131020 }
10141021
@@ -1232,6 +1239,7 @@ namespace quicktype {
12321239
12331240 inline void from_json(const json & j, Expression& x) {
12341241 if (!j.is_object()) throw std::runtime_error("Expected object");
1242+ if (j.find("columnId") != j.end() && !j.at("columnId").is_number_integer()) throw std::runtime_error("Expected integer");
12351243 x.set_column_id(j.at("columnId").get<int64_t>());
12361244 x.set_type(j.at("type").get<std::string>());
12371245 }
@@ -1268,40 +1276,53 @@ namespace quicktype {
12681276 if (!j.is_object()) throw std::runtime_error("Expected object");
12691277 x.set_attribution(j.at("attribution").get<std::string>());
12701278 x.set_attribution_link(j.at("attributionLink").get<std::string>());
1279+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
12711280 x.set_average_rating(j.at("averageRating").get<int64_t>());
12721281 x.set_category(j.at("category").get<std::string>());
12731282 x.set_columns(j.at("columns").get<std::vector<Column>>());
1283+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
12741284 x.set_created_at(j.at("createdAt").get<int64_t>());
12751285 x.set_description(j.at("description").get<std::string>());
12761286 x.set_display_type(j.at("displayType").get<std::string>());
1287+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
12771288 x.set_download_count(j.at("downloadCount").get<int64_t>());
12781289 x.set_flags(j.at("flags").get<std::vector<std::string>>());
12791290 x.set_grants(j.at("grants").get<std::vector<Grant>>());
12801291 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
12811292 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
12821293 x.set_id(j.at("id").get<std::string>());
1294+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
12831295 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
12841296 x.set_locale(j.at("locale").get<std::string>());
12851297 x.set_metadata(j.at("metadata").get<Metadata>());
12861298 x.set_name(j.at("name").get<std::string>());
12871299 x.set_new_backend(j.at("newBackend").get<bool>());
1300+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
12881301 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
1302+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
12891303 x.set_oid(j.at("oid").get<int64_t>());
12901304 x.set_owner(j.at("owner").get<Owner>());
12911305 x.set_provenance(j.at("provenance").get<std::string>());
12921306 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
1307+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
12931308 x.set_publication_date(j.at("publicationDate").get<int64_t>());
1309+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
12941310 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
12951311 x.set_publication_stage(j.at("publicationStage").get<std::string>());
12961312 x.set_query(j.at("query").get<Query>());
12971313 x.set_rights(j.at("rights").get<std::vector<std::string>>());
1314+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
12981315 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
12991316 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
13001317 x.set_table_author(j.at("tableAuthor").get<Owner>());
1318+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
13011319 x.set_table_id(j.at("tableId").get<int64_t>());
13021320 x.set_tags(j.at("tags").get<std::vector<std::string>>());
1321+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
13031322 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
1323+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
13041324 x.set_view_count(j.at("viewCount").get<int64_t>());
1325+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
13051326 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
13061327 x.set_view_type(j.at("viewType").get<std::string>());
13071328 }
Test case

test/inputs/json/misc/65dec.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -410,6 +410,7 @@ namespace quicktype {
410410 inline void from_json(const json & j, Card& x) {
411411 if (!j.is_object()) throw std::runtime_error("Expected object");
412412 x.set_artist(j.at("artist").get<std::string>());
413+ if (j.find("cmc") != j.end() && !j.at("cmc").is_number_integer()) throw std::runtime_error("Expected integer");
413414 x.set_cmc(j.at("cmc").get<int64_t>());
414415 x.set_color_identity(get_stack_optional<std::vector<ColorIdentity>>(j, "colorIdentity"));
415416 x.set_colors(get_stack_optional<std::vector<Watermark>>(j, "colors"));
@@ -420,6 +421,7 @@ namespace quicktype {
420421 x.set_legalities(j.at("legalities").get<std::vector<LegalityElement>>());
421422 x.set_mana_cost(get_stack_optional<std::string>(j, "manaCost"));
422423 x.set_mci_number(get_stack_optional<std::string>(j, "mciNumber"));
424+ if (j.find("multiverseid") != j.end() && !j.at("multiverseid").is_number_integer()) throw std::runtime_error("Expected integer");
423425 x.set_multiverseid(j.at("multiverseid").get<int64_t>());
424426 x.set_name(j.at("name").get<std::string>());
425427 x.set_original_text(j.at("originalText").get<std::string>());
@@ -479,6 +481,7 @@ namespace quicktype {
479481 x.set_code(j.at("code").get<std::string>());
480482 x.set_gatherer_code(j.at("gathererCode").get<std::string>());
481483 x.set_magic_cards_info_code(j.at("magicCardsInfoCode").get<std::string>());
484+ if (j.find("mkm_id") != j.end() && !j.at("mkm_id").is_number_integer()) throw std::runtime_error("Expected integer");
482485 x.set_mkm_id(j.at("mkm_id").get<int64_t>());
483486 x.set_mkm_name(j.at("mkm_name").get<std::string>());
484487 x.set_name(j.at("name").get<std::string>());
Test case

test/inputs/json/misc/6617c.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -98,6 +98,7 @@ namespace quicktype {
9898 if (!j.is_object()) throw std::runtime_error("Expected object");
9999 x.set_iss_position(j.at("iss_position").get<IssPosition>());
100100 x.set_message(j.at("message").get<std::string>());
101+ if (j.find("timestamp") != j.end() && !j.at("timestamp").is_number_integer()) throw std::runtime_error("Expected integer");
101102 x.set_timestamp(j.at("timestamp").get<int64_t>());
102103 }
Test case

test/inputs/json/misc/67c03.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -97,6 +97,7 @@ namespace quicktype {
9797 inline void from_json(const json & j, TopLevel& x) {
9898 if (!j.is_object()) throw std::runtime_error("Expected object");
9999 x.set_message(j.at("message").get<std::string>());
100+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
100101 x.set_number(j.at("number").get<int64_t>());
101102 x.set_people(j.at("people").get<std::vector<Person>>());
102103 }
Test case

test/inputs/json/misc/68c30.json

1 generated file · +12 −0
Mcplusplusdefault / quicktype.hpp+12 −0
@@ -199,11 +199,15 @@ namespace quicktype {
199199 inline void from_json(const json & j, Out& x) {
200200 if (!j.is_object()) throw std::runtime_error("Expected object");
201201 x.set_addr(j.at("addr").get<std::string>());
202+ if (j.find("n") != j.end() && !j.at("n").is_number_integer()) throw std::runtime_error("Expected integer");
202203 x.set_n(j.at("n").get<int64_t>());
203204 x.set_script(j.at("script").get<std::string>());
204205 x.set_spent(j.at("spent").get<bool>());
206+ if (j.find("tx_index") != j.end() && !j.at("tx_index").is_number_integer()) throw std::runtime_error("Expected integer");
205207 x.set_tx_index(j.at("tx_index").get<int64_t>());
208+ if (j.find("type") != j.end() && !j.at("type").is_number_integer()) throw std::runtime_error("Expected integer");
206209 x.set_type(j.at("type").get<int64_t>());
210+ if (j.find("value") != j.end() && !j.at("value").is_number_integer()) throw std::runtime_error("Expected integer");
207211 x.set_value(j.at("value").get<int64_t>());
208212 }
209213
@@ -222,6 +226,7 @@ namespace quicktype {
222226 if (!j.is_object()) throw std::runtime_error("Expected object");
223227 x.set_prev_out(j.at("prev_out").get<Out>());
224228 x.set_script(j.at("script").get<std::string>());
229+ if (j.find("sequence") != j.end() && !j.at("sequence").is_number_integer()) throw std::runtime_error("Expected integer");
225230 x.set_sequence(j.at("sequence").get<int64_t>());
226231 }
227232
@@ -237,14 +242,21 @@ namespace quicktype {
237242 x.set_double_spend(j.at("double_spend").get<bool>());
238243 x.set_hash(j.at("hash").get<std::string>());
239244 x.set_inputs(j.at("inputs").get<std::vector<Input>>());
245+ if (j.find("lock_time") != j.end() && !j.at("lock_time").is_number_integer()) throw std::runtime_error("Expected integer");
240246 x.set_lock_time(j.at("lock_time").get<int64_t>());
241247 x.set_out(j.at("out").get<std::vector<Out>>());
242248 x.set_relayed_by(j.at("relayed_by").get<std::string>());
249+ if (j.find("size") != j.end() && !j.at("size").is_number_integer()) throw std::runtime_error("Expected integer");
243250 x.set_size(j.at("size").get<int64_t>());
251+ if (j.find("time") != j.end() && !j.at("time").is_number_integer()) throw std::runtime_error("Expected integer");
244252 x.set_time(j.at("time").get<int64_t>());
253+ if (j.find("tx_index") != j.end() && !j.at("tx_index").is_number_integer()) throw std::runtime_error("Expected integer");
245254 x.set_tx_index(j.at("tx_index").get<int64_t>());
255+ if (j.find("ver") != j.end() && !j.at("ver").is_number_integer()) throw std::runtime_error("Expected integer");
246256 x.set_ver(j.at("ver").get<int64_t>());
257+ if (j.find("vin_sz") != j.end() && !j.at("vin_sz").is_number_integer()) throw std::runtime_error("Expected integer");
247258 x.set_vin_sz(j.at("vin_sz").get<int64_t>());
259+ if (j.find("vout_sz") != j.end() && !j.at("vout_sz").is_number_integer()) throw std::runtime_error("Expected integer");
248260 x.set_vout_sz(j.at("vout_sz").get<int64_t>());
249261 }
Test case

test/inputs/json/misc/6c155.json

1 generated file · +4 −0
Mcplusplusdefault / quicktype.hpp+4 −0
@@ -300,6 +300,7 @@ namespace quicktype {
300300 inline void from_json(const json & j, ResponseInfo& x) {
301301 if (!j.is_object()) throw std::runtime_error("Expected object");
302302 x.set_developer_message(j.at("developerMessage").get<std::string>());
303+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
303304 x.set_status(j.at("status").get<int64_t>());
304305 }
305306
@@ -311,8 +312,11 @@ namespace quicktype {
311312
312313 inline void from_json(const json & j, Resultset& x) {
313314 if (!j.is_object()) throw std::runtime_error("Expected object");
315+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
314316 x.set_count(j.at("count").get<int64_t>());
317+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
315318 x.set_page(j.at("page").get<int64_t>());
319+ if (j.find("pagesize") != j.end() && !j.at("pagesize").is_number_integer()) throw std::runtime_error("Expected integer");
316320 x.set_pagesize(j.at("pagesize").get<int64_t>());
317321 }
Test case

test/inputs/json/misc/6de06.json

1 generated file · +13 −0
Mcplusplusdefault / quicktype.hpp+13 −0
@@ -767,16 +767,20 @@ namespace quicktype {
767767 inline void from_json(const json & j, Oembed& x) {
768768 if (!j.is_object()) throw std::runtime_error("Expected object");
769769 x.set_description(j.at("description").get<std::string>());
770+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
770771 x.set_height(j.at("height").get<int64_t>());
771772 x.set_html(j.at("html").get<std::string>());
772773 x.set_provider_name(j.at("provider_name").get<std::string>());
773774 x.set_provider_url(j.at("provider_url").get<std::string>());
775+ if (j.find("thumbnail_height") != j.end() && !j.at("thumbnail_height").is_number_integer()) throw std::runtime_error("Expected integer");
774776 x.set_thumbnail_height(j.at("thumbnail_height").get<int64_t>());
775777 x.set_thumbnail_url(j.at("thumbnail_url").get<std::string>());
778+ if (j.find("thumbnail_width") != j.end() && !j.at("thumbnail_width").is_number_integer()) throw std::runtime_error("Expected integer");
776779 x.set_thumbnail_width(j.at("thumbnail_width").get<int64_t>());
777780 x.set_title(j.at("title").get<std::string>());
778781 x.set_type(j.at("type").get<std::string>());
779782 x.set_version(j.at("version").get<std::string>());
783+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
780784 x.set_width(j.at("width").get<int64_t>());
781785 }
782786
@@ -811,8 +815,10 @@ namespace quicktype {
811815 inline void from_json(const json & j, MediaEmbed& x) {
812816 if (!j.is_object()) throw std::runtime_error("Expected object");
813817 x.set_content(get_stack_optional<std::string>(j, "content"));
818+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
814819 x.set_height(get_stack_optional<int64_t>(j, "height"));
815820 x.set_scrolling(get_stack_optional<bool>(j, "scrolling"));
821+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
816822 x.set_width(get_stack_optional<int64_t>(j, "width"));
817823 }
818824
@@ -826,8 +832,10 @@ namespace quicktype {
826832
827833 inline void from_json(const json & j, Source& x) {
828834 if (!j.is_object()) throw std::runtime_error("Expected object");
835+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
829836 x.set_height(j.at("height").get<int64_t>());
830837 x.set_url(j.at("url").get<std::string>());
838+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
831839 x.set_width(j.at("width").get<int64_t>());
832840 }
833841
@@ -913,8 +921,10 @@ namespace quicktype {
913921 x.set_created_utc(j.at("created_utc").get<double>());
914922 x.set_distinguished(get_untyped(j, "distinguished"));
915923 x.set_domain(j.at("domain").get<std::string>());
924+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
916925 x.set_downs(j.at("downs").get<int64_t>());
917926 x.set_edited(j.at("edited").get<bool>());
927+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
918928 x.set_gilded(j.at("gilded").get<int64_t>());
919929 x.set_hidden(j.at("hidden").get<bool>());
920930 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -929,6 +939,7 @@ namespace quicktype {
929939 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
930940 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
931941 x.set_name(j.at("name").get<std::string>());
942+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
932943 x.set_num_comments(j.at("num_comments").get<int64_t>());
933944 x.set_num_reports(get_untyped(j, "num_reports"));
934945 x.set_over_18(j.at("over_18").get<bool>());
@@ -939,6 +950,7 @@ namespace quicktype {
939950 x.set_removal_reason(get_untyped(j, "removal_reason"));
940951 x.set_report_reasons(get_untyped(j, "report_reasons"));
941952 x.set_saved(j.at("saved").get<bool>());
953+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
942954 x.set_score(j.at("score").get<int64_t>());
943955 x.set_secure_media(get_stack_optional<Media>(j, "secure_media"));
944956 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -955,6 +967,7 @@ namespace quicktype {
955967 x.set_thumbnail_height(get_stack_optional<int64_t>(j, "thumbnail_height"));
956968 x.set_thumbnail_width(get_stack_optional<int64_t>(j, "thumbnail_width"));
957969 x.set_title(j.at("title").get<std::string>());
970+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
958971 x.set_ups(j.at("ups").get<int64_t>());
959972 x.set_url(j.at("url").get<std::string>());
960973 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/6dec6.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -714,6 +714,7 @@ namespace quicktype {
714714
715715 inline void from_json(const json & j, Query& x) {
716716 if (!j.is_object()) throw std::runtime_error("Expected object");
717+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
717718 x.set_count(j.at("count").get<int64_t>());
718719 x.set_created(j.at("created").get<std::string>());
719720 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/6eb00.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -64,7 +64,9 @@ namespace quicktype {
6464
6565 inline void from_json(const json & j, TopLevelElement& x) {
6666 if (!j.is_object()) throw std::runtime_error("Expected object");
67+ if (j.find("DirectorateID") != j.end() && !j.at("DirectorateID").is_number_integer()) throw std::runtime_error("Expected integer");
6768 x.set_directorate_id(j.at("DirectorateID").get<int64_t>());
69+ if (j.find("Id") != j.end() && !j.at("Id").is_number_integer()) throw std::runtime_error("Expected integer");
6870 x.set_id(j.at("Id").get<int64_t>());
6971 x.set_name(j.at("Name").get<std::string>());
7072 }
Test case

test/inputs/json/misc/734ad.json

1 generated file · +7 −0
Mcplusplusdefault / quicktype.hpp+7 −0
@@ -470,6 +470,7 @@ namespace quicktype {
470470 x.set_be_office_street(get_stack_optional<std::string>(j, "be_office_street"));
471471 x.set_be_office_town(get_stack_optional<std::string>(j, "be_office_town"));
472472 x.set_code_of_conduct(j.at("code_of_conduct").get<std::string>());
473+ if (j.find("contact_country") != j.end() && !j.at("contact_country").is_number_integer()) throw std::runtime_error("Expected integer");
473474 x.set_contact_country(j.at("contact_country").get<int64_t>());
474475 x.set_created_at(j.at("created_at").get<std::string>());
475476 x.set_entity(j.at("entity").get<std::string>());
@@ -489,8 +490,10 @@ namespace quicktype {
489490 x.set_last_update_date(j.at("last_update_date").get<std::string>());
490491 x.set_legal(j.at("legal").get<std::string>());
491492 x.set_legal_status(j.at("legal_status").get<std::string>());
493+ if (j.find("main_category") != j.end() && !j.at("main_category").is_number_integer()) throw std::runtime_error("Expected integer");
492494 x.set_main_category(j.at("main_category").get<int64_t>());
493495 x.set_main_category_title(j.at("main_category_title").get<std::string>());
496+ if (j.find("members") != j.end() && !j.at("members").is_number_integer()) throw std::runtime_error("Expected integer");
494497 x.set_members(j.at("members").get<int64_t>());
495498 x.set_members_100(get_stack_optional<int64_t>(j, "members_100"));
496499 x.set_members_25(get_stack_optional<int64_t>(j, "members_25"));
@@ -505,6 +508,7 @@ namespace quicktype {
505508 x.set_registration_date(j.at("registration_date").get<std::string>());
506509 x.set_status(j.at("status").get<Status>());
507510 x.set_structure_members(j.at("structure_members").get<std::string>());
511+ if (j.find("sub_category") != j.end() && !j.at("sub_category").is_number_integer()) throw std::runtime_error("Expected integer");
508512 x.set_sub_category(j.at("sub_category").get<int64_t>());
509513 x.set_sub_category_title(j.at("sub_category_title").get<std::string>());
510514 x.set_updated_at(j.at("updated_at").get<std::string>());
@@ -576,10 +580,13 @@ namespace quicktype {
576580
577581 inline void from_json(const json & j, TopLevel& x) {
578582 if (!j.is_object()) throw std::runtime_error("Expected object");
583+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
579584 x.set_count(j.at("count").get<int64_t>());
580585 x.set_facets(j.at("facets").get<Facets>());
586+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
581587 x.set_limit(j.at("limit").get<int64_t>());
582588 x.set_next(j.at("next").get<std::string>());
589+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
583590 x.set_offset(j.at("offset").get<int64_t>());
584591 x.set_previous(j.at("previous").get<bool>());
585592 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/7681c.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -760,6 +760,7 @@ namespace quicktype {
760760 x.set_id(j.at("id").get<std::string>());
761761 x.set_images(j.at("images").get<Images>());
762762 x.set_import_datetime(j.at("import_datetime").get<std::string>());
763+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
763764 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
764765 x.set_rating(j.at("rating").get<Rating>());
765766 x.set_slug(j.at("slug").get<std::string>());
@@ -799,6 +800,7 @@ namespace quicktype {
799800 if (!j.is_object()) throw std::runtime_error("Expected object");
800801 x.set_msg(j.at("msg").get<std::string>());
801802 x.set_response_id(j.at("response_id").get<std::string>());
803+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
802804 x.set_status(j.at("status").get<int64_t>());
803805 }
804806
@@ -811,8 +813,11 @@ namespace quicktype {
811813
812814 inline void from_json(const json & j, Pagination& x) {
813815 if (!j.is_object()) throw std::runtime_error("Expected object");
816+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
814817 x.set_count(j.at("count").get<int64_t>());
818+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
815819 x.set_offset(j.at("offset").get<int64_t>());
820+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
816821 x.set_total_count(j.at("total_count").get<int64_t>());
817822 }
Test case

test/inputs/json/misc/7df41.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -99,8 +99,10 @@ namespace quicktype {
9999
100100 inline void from_json(const json & j, Pc& x) {
101101 if (!j.is_object()) throw std::runtime_error("Expected object");
102+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
102103 x.set_count(j.at("count").get<int64_t>());
103104 x.set_label(j.at("label").get<std::string>());
105+ if (j.find("peak24") != j.end() && !j.at("peak24").is_number_integer()) throw std::runtime_error("Expected integer");
104106 x.set_peak24(j.at("peak24").get<int64_t>());
105107 }
Test case

test/inputs/json/misc/7dfa6.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/7eb30.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -227,12 +227,16 @@ namespace quicktype {
227227 x.set_fav(j.at("fav").get<bool>());
228228 x.set_group(j.at("group").get<Group>());
229229 x.set_location(j.at("location").get<Location>());
230+ if (j.find("min_screens") != j.end() && !j.at("min_screens").is_number_integer()) throw std::runtime_error("Expected integer");
230231 x.set_min_screens(j.at("min_screens").get<int64_t>());
232+ if (j.find("num_views") != j.end() && !j.at("num_views").is_number_integer()) throw std::runtime_error("Expected integer");
231233 x.set_num_views(j.at("num_views").get<int64_t>());
232234 x.set_showtimes(j.at("showtimes").get<std::string>());
235+ if (j.find("stars") != j.end() && !j.at("stars").is_number_integer()) throw std::runtime_error("Expected integer");
233236 x.set_stars(j.at("stars").get<int64_t>());
234237 x.set_tel(j.at("tel").get<Tel>());
235238 x.set_thai(j.at("thai").get<std::string>());
239+ if (j.find("today_screens") != j.end() && !j.at("today_screens").is_number_integer()) throw std::runtime_error("Expected integer");
236240 x.set_today_screens(j.at("today_screens").get<int64_t>());
237241 x.set_url(j.at("url").get<std::string>());
238242 x.set_website(j.at("website").get<std::string>());
@@ -258,6 +262,7 @@ namespace quicktype {
258262
259263 inline void from_json(const json & j, TopLevel& x) {
260264 if (!j.is_object()) throw std::runtime_error("Expected object");
265+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
261266 x.set_count(j.at("count").get<int64_t>());
262267 x.set_next(j.at("next").get<std::string>());
263268 x.set_previous(get_untyped(j, "previous"));
Test case

test/inputs/json/misc/7f568.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -233,6 +233,7 @@ namespace quicktype {
233233 x.set_filename(j.at("filename").get<std::string>());
234234 x.set_language(get_stack_optional<Language>(j, "language"));
235235 x.set_raw_url(j.at("raw_url").get<std::string>());
236+ if (j.find("size") != j.end() && !j.at("size").is_number_integer()) throw std::runtime_error("Expected integer");
236237 x.set_size(j.at("size").get<int64_t>());
237238 x.set_type(j.at("type").get<Type>());
238239 }
@@ -248,6 +249,7 @@ namespace quicktype {
248249
249250 inline void from_json(const json & j, TopLevelElement& x) {
250251 if (!j.is_object()) throw std::runtime_error("Expected object");
252+ if (j.find("comments") != j.end() && !j.at("comments").is_number_integer()) throw std::runtime_error("Expected integer");
251253 x.set_comments(j.at("comments").get<int64_t>());
252254 x.set_comments_url(j.at("comments_url").get<std::string>());
253255 x.set_commits_url(j.at("commits_url").get<std::string>());
Test case

test/inputs/json/misc/7fbfb.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -235,9 +235,12 @@ namespace quicktype {
235235
236236 inline void from_json(const json & j, FluffyTopLevel& x) {
237237 if (!j.is_object()) throw std::runtime_error("Expected object");
238+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
238239 x.set_page(j.at("page").get<int64_t>());
240+ if (j.find("pages") != j.end() && !j.at("pages").is_number_integer()) throw std::runtime_error("Expected integer");
239241 x.set_pages(j.at("pages").get<int64_t>());
240242 x.set_per_page(j.at("per_page").get<std::string>());
243+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
241244 x.set_total(j.at("total").get<int64_t>());
242245 }
Test case

test/inputs/json/misc/80aff.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -209,7 +209,9 @@ namespace quicktype {
209209 inline void from_json(const json & j, Result& x) {
210210 if (!j.is_object()) throw std::runtime_error("Expected object");
211211 x.set_created_at(j.at("created_at").get<std::string>());
212+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
212213 x.set_id(j.at("id").get<int64_t>());
214+ if (j.find("items") != j.end() && !j.at("items").is_number_integer()) throw std::runtime_error("Expected integer");
213215 x.set_items(j.at("items").get<int64_t>());
214216 x.set_name(j.at("name").get<std::string>());
215217 x.set_parent(get_stack_optional<int64_t>(j, "parent"));
@@ -230,10 +232,13 @@ namespace quicktype {
230232
231233 inline void from_json(const json & j, TopLevel& x) {
232234 if (!j.is_object()) throw std::runtime_error("Expected object");
235+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
233236 x.set_count(j.at("count").get<int64_t>());
234237 x.set_facets(j.at("facets").get<Facets>());
238+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
235239 x.set_limit(j.at("limit").get<int64_t>());
236240 x.set_next(j.at("next").get<bool>());
241+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
237242 x.set_offset(j.at("offset").get<int64_t>());
238243 x.set_previous(j.at("previous").get<bool>());
239244 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/8592b.json

1 generated file · +7 −0
Mcplusplusdefault / quicktype.hpp+7 −0
@@ -635,8 +635,10 @@ namespace quicktype {
635635
636636 inline void from_json(const json & j, Source& x) {
637637 if (!j.is_object()) throw std::runtime_error("Expected object");
638+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
638639 x.set_height(j.at("height").get<int64_t>());
639640 x.set_url(j.at("url").get<std::string>());
641+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
640642 x.set_width(j.at("width").get<int64_t>());
641643 }
642644
@@ -694,8 +696,10 @@ namespace quicktype {
694696 x.set_created_utc(j.at("created_utc").get<double>());
695697 x.set_distinguished(get_untyped(j, "distinguished"));
696698 x.set_domain(j.at("domain").get<std::string>());
699+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
697700 x.set_downs(j.at("downs").get<int64_t>());
698701 x.set_edited(j.at("edited").get<bool>());
702+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
699703 x.set_gilded(j.at("gilded").get<int64_t>());
700704 x.set_hidden(j.at("hidden").get<bool>());
701705 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -710,6 +714,7 @@ namespace quicktype {
710714 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
711715 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
712716 x.set_name(j.at("name").get<std::string>());
717+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
713718 x.set_num_comments(j.at("num_comments").get<int64_t>());
714719 x.set_num_reports(get_untyped(j, "num_reports"));
715720 x.set_over_18(j.at("over_18").get<bool>());
@@ -720,6 +725,7 @@ namespace quicktype {
720725 x.set_removal_reason(get_untyped(j, "removal_reason"));
721726 x.set_report_reasons(get_untyped(j, "report_reasons"));
722727 x.set_saved(j.at("saved").get<bool>());
728+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
723729 x.set_score(j.at("score").get<int64_t>());
724730 x.set_secure_media(get_untyped(j, "secure_media"));
725731 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -736,6 +742,7 @@ namespace quicktype {
736742 x.set_thumbnail_height(get_stack_optional<int64_t>(j, "thumbnail_height"));
737743 x.set_thumbnail_width(get_stack_optional<int64_t>(j, "thumbnail_width"));
738744 x.set_title(j.at("title").get<std::string>());
745+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
739746 x.set_ups(j.at("ups").get<int64_t>());
740747 x.set_url(j.at("url").get<std::string>());
741748 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/88130.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/8a62c.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/9929c.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/9ac3b.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -267,10 +267,13 @@ namespace quicktype {
267267
268268 inline void from_json(const json & j, TopLevel& x) {
269269 if (!j.is_object()) throw std::runtime_error("Expected object");
270+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
270271 x.set_count(j.at("count").get<int64_t>());
271272 x.set_facets(j.at("facets").get<Facets>());
273+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
272274 x.set_limit(j.at("limit").get<int64_t>());
273275 x.set_next(j.at("next").get<std::string>());
276+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
274277 x.set_offset(j.at("offset").get<int64_t>());
275278 x.set_previous(j.at("previous").get<bool>());
276279 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/a0496.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -231,6 +231,7 @@ namespace quicktype {
231231 x.set_errors(j.at("errors").get<Errors>());
232232 x.set_frequency(j.at("frequency").get<std::string>());
233233 x.set_from_date(j.at("from_date").get<std::string>());
234+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
234235 x.set_id(j.at("id").get<int64_t>());
235236 x.set_name(j.at("name").get<std::string>());
236237 x.set_premium(j.at("premium").get<bool>());
Test case

test/inputs/json/misc/a1eca.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/a3d8c.json

1 generated file · +20 −0
Mcplusplusdefault / quicktype.hpp+20 −0
@@ -635,6 +635,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
635635 namespace quicktype {
636636 inline void from_json(const json & j, Top& x) {
637637 if (!j.is_object()) throw std::runtime_error("Expected object");
638+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
638639 x.set_count(j.at("count").get<int64_t>());
639640 x.set_item(j.at("item").get<std::string>());
640641 }
@@ -649,7 +650,9 @@ namespace quicktype {
649650 if (!j.is_object()) throw std::runtime_error("Expected object");
650651 x.set_average(get_stack_optional<std::string>(j, "average"));
651652 x.set_largest(j.at("largest").get<std::string>());
653+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
652654 x.set_non_null(j.at("non_null").get<int64_t>());
655+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
653656 x.set_null(j.at("null").get<int64_t>());
654657 x.set_smallest(j.at("smallest").get<std::string>());
655658 x.set_sum(get_stack_optional<std::string>(j, "sum"));
@@ -685,11 +688,15 @@ namespace quicktype {
685688 x.set_field_name(j.at("fieldName").get<std::string>());
686689 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
687690 x.set_format(j.at("format").get<Query>());
691+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
688692 x.set_id(j.at("id").get<int64_t>());
689693 x.set_name(j.at("name").get<std::string>());
694+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
690695 x.set_position(j.at("position").get<int64_t>());
691696 x.set_render_type_name(j.at("renderTypeName").get<TypeName>());
697+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
692698 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
699+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
693700 x.set_width(get_stack_optional<int64_t>(j, "width"));
694701 }
695702
@@ -786,17 +793,21 @@ namespace quicktype {
786793
787794 inline void from_json(const json & j, View& x) {
788795 if (!j.is_object()) throw std::runtime_error("Expected object");
796+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
789797 x.set_average_rating(j.at("averageRating").get<int64_t>());
790798 x.set_category(j.at("category").get<std::string>());
791799 x.set_columns(j.at("columns").get<std::vector<Column>>());
800+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
792801 x.set_created_at(j.at("createdAt").get<int64_t>());
793802 x.set_display_type(j.at("displayType").get<std::string>());
803+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
794804 x.set_download_count(j.at("downloadCount").get<int64_t>());
795805 x.set_flags(j.at("flags").get<std::vector<std::string>>());
796806 x.set_grants(j.at("grants").get<std::vector<Grant>>());
797807 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
798808 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
799809 x.set_id(j.at("id").get<std::string>());
810+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
800811 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
801812 x.set_license(j.at("license").get<License>());
802813 x.set_license_id(j.at("licenseId").get<std::string>());
@@ -804,23 +815,32 @@ namespace quicktype {
804815 x.set_metadata(j.at("metadata").get<Metadata>());
805816 x.set_name(j.at("name").get<std::string>());
806817 x.set_new_backend(j.at("newBackend").get<bool>());
818+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
807819 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
820+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
808821 x.set_oid(j.at("oid").get<int64_t>());
809822 x.set_owner(j.at("owner").get<Owner>());
810823 x.set_provenance(j.at("provenance").get<std::string>());
811824 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
825+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
812826 x.set_publication_date(j.at("publicationDate").get<int64_t>());
827+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
813828 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
814829 x.set_publication_stage(j.at("publicationStage").get<std::string>());
815830 x.set_query(j.at("query").get<Query>());
816831 x.set_rights(j.at("rights").get<std::vector<std::string>>());
817832 x.set_row_class(j.at("rowClass").get<std::string>());
833+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
818834 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
819835 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
820836 x.set_table_author(j.at("tableAuthor").get<Owner>());
837+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
821838 x.set_table_id(j.at("tableId").get<int64_t>());
839+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
822840 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
841+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
823842 x.set_view_count(j.at("viewCount").get<int64_t>());
843+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
824844 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
825845 x.set_view_type(j.at("viewType").get<std::string>());
826846 }
Test case

test/inputs/json/misc/a45b0.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/ab0d1.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/abb4b.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/ae7f0.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -548,8 +548,10 @@ namespace quicktype {
548548 x.set_created_utc(j.at("created_utc").get<double>());
549549 x.set_distinguished(get_untyped(j, "distinguished"));
550550 x.set_domain(j.at("domain").get<Domain>());
551+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
551552 x.set_downs(j.at("downs").get<int64_t>());
552553 x.set_edited(j.at("edited").get<bool>());
554+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
553555 x.set_gilded(j.at("gilded").get<int64_t>());
554556 x.set_hidden(j.at("hidden").get<bool>());
555557 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -564,6 +566,7 @@ namespace quicktype {
564566 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
565567 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
566568 x.set_name(j.at("name").get<std::string>());
569+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
567570 x.set_num_comments(j.at("num_comments").get<int64_t>());
568571 x.set_num_reports(get_untyped(j, "num_reports"));
569572 x.set_over_18(j.at("over_18").get<bool>());
@@ -572,6 +575,7 @@ namespace quicktype {
572575 x.set_removal_reason(get_untyped(j, "removal_reason"));
573576 x.set_report_reasons(get_untyped(j, "report_reasons"));
574577 x.set_saved(j.at("saved").get<bool>());
578+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
575579 x.set_score(j.at("score").get<int64_t>());
576580 x.set_secure_media(get_untyped(j, "secure_media"));
577581 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -586,6 +590,7 @@ namespace quicktype {
586590 x.set_suggested_sort(get_untyped(j, "suggested_sort"));
587591 x.set_thumbnail(j.at("thumbnail").get<std::string>());
588592 x.set_title(j.at("title").get<std::string>());
593+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
589594 x.set_ups(j.at("ups").get<int64_t>());
590595 x.set_url(j.at("url").get<std::string>());
591596 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/af2d1.json

1 generated file · +6 −0
Mcplusplusdefault / quicktype.hpp+6 −0
@@ -498,6 +498,7 @@ namespace quicktype {
498498 x.set_area(j.at("area_").get<double>());
499499 x.set_asset_numb(j.at("asset_numb").get<std::string>());
500500 x.set_comments(get_stack_optional<std::string>(j, "comments"));
501+ if (j.find("condition") != j.end() && !j.at("condition").is_number_integer()) throw std::runtime_error("Expected integer");
501502 x.set_condition(j.at("condition").get<int64_t>());
502503 x.set_constructi(get_stack_optional<std::string>(j, "constructi"));
503504 x.set_createdate(get_untyped(j, "createdate"));
@@ -508,18 +509,22 @@ namespace quicktype {
508509 x.set_file_numbe(get_stack_optional<std::string>(j, "file_numbe"));
509510 x.set_folder_num(get_stack_optional<std::string>(j, "folder_num"));
510511 x.set_funding_ba(get_stack_optional<FundingBa>(j, "funding_ba"));
512+ if (j.find("historic_c") != j.end() && !j.at("historic_c").is_number_integer()) throw std::runtime_error("Expected integer");
511513 x.set_historic_c(j.at("historic_c").get<int64_t>());
512514 x.set_inspection(j.at("inspection").get<std::string>());
513515 x.set_inspectors(get_untyped(j, "inspectors"));
514516 x.set_last_updat(get_untyped(j, "last_updat"));
515517 x.set_level_accu(get_stack_optional<LevelAccu>(j, "level_accu"));
516518 x.set_material(j.at("material").get<Material>());
519+ if (j.find("mi_prinx") != j.end() && !j.at("mi_prinx").is_number_integer()) throw std::runtime_error("Expected integer");
517520 x.set_mi_prinx(j.at("mi_prinx").get<int64_t>());
518521 x.set_mi_symbolo(j.at("mi_symbolo").get<MiSymbolo>());
522+ if (j.find("number_lan") != j.end() && !j.at("number_lan").is_number_integer()) throw std::runtime_error("Expected integer");
519523 x.set_number_lan(j.at("number_lan").get<int64_t>());
520524 x.set_owner(get_stack_optional<std::string>(j, "owner"));
521525 x.set_positional(get_stack_optional<LevelAccu>(j, "positional"));
522526 x.set_project_nu(get_stack_optional<std::string>(j, "project_nu"));
527+ if (j.find("rec_id") != j.end() && !j.at("rec_id").is_number_integer()) throw std::runtime_error("Expected integer");
523528 x.set_rec_id(j.at("rec_id").get<int64_t>());
524529 x.set_record_cre(get_stack_optional<std::string>(j, "record_cre"));
525530 x.set_shape_area(j.at("shape_area").get<double>());
@@ -598,6 +603,7 @@ namespace quicktype {
598603 if (!j.is_object()) throw std::runtime_error("Expected object");
599604 x.set_crs(j.at("crs").get<Crs>());
600605 x.set_features(j.at("features").get<std::vector<Feature>>());
606+ if (j.find("totalFeatures") != j.end() && !j.at("totalFeatures").is_number_integer()) throw std::runtime_error("Expected integer");
601607 x.set_total_features(j.at("totalFeatures").get<int64_t>());
602608 x.set_type(j.at("type").get<std::string>());
603609 }
Test case

test/inputs/json/misc/b6f2c.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/bb1ec.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/be234.json

1 generated file · +15 −0
Mcplusplusdefault / quicktype.hpp+15 −0
@@ -783,16 +783,20 @@ namespace quicktype {
783783 inline void from_json(const json & j, Oembed& x) {
784784 if (!j.is_object()) throw std::runtime_error("Expected object");
785785 x.set_description(j.at("description").get<std::string>());
786+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
786787 x.set_height(j.at("height").get<int64_t>());
787788 x.set_html(j.at("html").get<std::string>());
788789 x.set_provider_name(j.at("provider_name").get<std::string>());
789790 x.set_provider_url(j.at("provider_url").get<std::string>());
791+ if (j.find("thumbnail_height") != j.end() && !j.at("thumbnail_height").is_number_integer()) throw std::runtime_error("Expected integer");
790792 x.set_thumbnail_height(j.at("thumbnail_height").get<int64_t>());
791793 x.set_thumbnail_url(j.at("thumbnail_url").get<std::string>());
794+ if (j.find("thumbnail_width") != j.end() && !j.at("thumbnail_width").is_number_integer()) throw std::runtime_error("Expected integer");
792795 x.set_thumbnail_width(j.at("thumbnail_width").get<int64_t>());
793796 x.set_title(j.at("title").get<std::string>());
794797 x.set_type(j.at("type").get<std::string>());
795798 x.set_version(j.at("version").get<std::string>());
799+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
796800 x.set_width(j.at("width").get<int64_t>());
797801 }
798802
@@ -827,8 +831,10 @@ namespace quicktype {
827831 inline void from_json(const json & j, MediaEmbed& x) {
828832 if (!j.is_object()) throw std::runtime_error("Expected object");
829833 x.set_content(get_stack_optional<std::string>(j, "content"));
834+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
830835 x.set_height(get_stack_optional<int64_t>(j, "height"));
831836 x.set_scrolling(get_stack_optional<bool>(j, "scrolling"));
837+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
832838 x.set_width(get_stack_optional<int64_t>(j, "width"));
833839 }
834840
@@ -842,8 +848,10 @@ namespace quicktype {
842848
843849 inline void from_json(const json & j, Source& x) {
844850 if (!j.is_object()) throw std::runtime_error("Expected object");
851+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
845852 x.set_height(j.at("height").get<int64_t>());
846853 x.set_url(j.at("url").get<std::string>());
854+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
847855 x.set_width(j.at("width").get<int64_t>());
848856 }
849857
@@ -925,8 +933,10 @@ namespace quicktype {
925933 x.set_created_utc(j.at("created_utc").get<double>());
926934 x.set_distinguished(get_stack_optional<std::string>(j, "distinguished"));
927935 x.set_domain(j.at("domain").get<Domain>());
936+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
928937 x.set_downs(j.at("downs").get<int64_t>());
929938 x.set_edited(j.at("edited").get<bool>());
939+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
930940 x.set_gilded(j.at("gilded").get<int64_t>());
931941 x.set_hidden(j.at("hidden").get<bool>());
932942 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -941,6 +951,7 @@ namespace quicktype {
941951 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
942952 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
943953 x.set_name(j.at("name").get<std::string>());
954+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
944955 x.set_num_comments(j.at("num_comments").get<int64_t>());
945956 x.set_num_reports(get_untyped(j, "num_reports"));
946957 x.set_over_18(j.at("over_18").get<bool>());
@@ -951,6 +962,7 @@ namespace quicktype {
951962 x.set_removal_reason(get_untyped(j, "removal_reason"));
952963 x.set_report_reasons(get_untyped(j, "report_reasons"));
953964 x.set_saved(j.at("saved").get<bool>());
965+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
954966 x.set_score(j.at("score").get<int64_t>());
955967 x.set_secure_media(get_stack_optional<Media>(j, "secure_media"));
956968 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -964,9 +976,12 @@ namespace quicktype {
964976 x.set_subreddit_type(j.at("subreddit_type").get<SubredditType>());
965977 x.set_suggested_sort(get_untyped(j, "suggested_sort"));
966978 x.set_thumbnail(j.at("thumbnail").get<std::string>());
979+ if (j.find("thumbnail_height") != j.end() && !j.at("thumbnail_height").is_number_integer()) throw std::runtime_error("Expected integer");
967980 x.set_thumbnail_height(j.at("thumbnail_height").get<int64_t>());
981+ if (j.find("thumbnail_width") != j.end() && !j.at("thumbnail_width").is_number_integer()) throw std::runtime_error("Expected integer");
968982 x.set_thumbnail_width(j.at("thumbnail_width").get<int64_t>());
969983 x.set_title(j.at("title").get<std::string>());
984+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
970985 x.set_ups(j.at("ups").get<int64_t>());
971986 x.set_url(j.at("url").get<std::string>());
972987 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/c0356.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -119,6 +119,7 @@ namespace quicktype {
119119 inline void from_json(const json & j, Description& x) {
120120 if (!j.is_object()) throw std::runtime_error("Expected object");
121121 x.set_base_period(j.at("base_period").get<std::string>());
122+ if (j.find("missing") != j.end() && !j.at("missing").is_number_integer()) throw std::runtime_error("Expected integer");
122123 x.set_missing(j.at("missing").get<int64_t>());
123124 x.set_title(j.at("title").get<std::string>());
124125 }
Test case

test/inputs/json/misc/c3303.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -753,6 +753,7 @@ namespace quicktype {
753753 x.set_id(j.at("id").get<std::string>());
754754 x.set_images(j.at("images").get<Images>());
755755 x.set_import_datetime(j.at("import_datetime").get<std::string>());
756+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
756757 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
757758 x.set_rating(j.at("rating").get<Rating>());
758759 x.set_slug(j.at("slug").get<std::string>());
@@ -792,6 +793,7 @@ namespace quicktype {
792793 if (!j.is_object()) throw std::runtime_error("Expected object");
793794 x.set_msg(j.at("msg").get<std::string>());
794795 x.set_response_id(j.at("response_id").get<std::string>());
796+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
795797 x.set_status(j.at("status").get<int64_t>());
796798 }
797799
@@ -804,8 +806,11 @@ namespace quicktype {
804806
805807 inline void from_json(const json & j, Pagination& x) {
806808 if (!j.is_object()) throw std::runtime_error("Expected object");
809+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
807810 x.set_count(j.at("count").get<int64_t>());
811+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
808812 x.set_offset(j.at("offset").get<int64_t>());
813+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
809814 x.set_total_count(j.at("total_count").get<int64_t>());
810815 }
Test case

test/inputs/json/misc/c8c7e.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -235,9 +235,12 @@ namespace quicktype {
235235
236236 inline void from_json(const json & j, FluffyTopLevel& x) {
237237 if (!j.is_object()) throw std::runtime_error("Expected object");
238+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
238239 x.set_page(j.at("page").get<int64_t>());
240+ if (j.find("pages") != j.end() && !j.at("pages").is_number_integer()) throw std::runtime_error("Expected integer");
239241 x.set_pages(j.at("pages").get<int64_t>());
240242 x.set_per_page(j.at("per_page").get<std::string>());
243+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
241244 x.set_total(j.at("total").get<int64_t>());
242245 }
Test case

test/inputs/json/misc/cda6c.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -235,9 +235,12 @@ namespace quicktype {
235235
236236 inline void from_json(const json & j, FluffyTopLevel& x) {
237237 if (!j.is_object()) throw std::runtime_error("Expected object");
238+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
238239 x.set_page(j.at("page").get<int64_t>());
240+ if (j.find("pages") != j.end() && !j.at("pages").is_number_integer()) throw std::runtime_error("Expected integer");
239241 x.set_pages(j.at("pages").get<int64_t>());
240242 x.set_per_page(j.at("per_page").get<std::string>());
243+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
241244 x.set_total(j.at("total").get<int64_t>());
242245 }
Test case

test/inputs/json/misc/cf0d8.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/d0908.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -75,6 +75,7 @@ namespace quicktype {
7575 inline void from_json(const json & j, TotalPopulation& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
7777 x.set_date(j.at("date").get<std::string>());
78+ if (j.find("population") != j.end() && !j.at("population").is_number_integer()) throw std::runtime_error("Expected integer");
7879 x.set_population(j.at("population").get<int64_t>());
7980 }
Test case

test/inputs/json/misc/d23d5.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -223,10 +223,13 @@ namespace quicktype {
223223
224224 inline void from_json(const json & j, TopLevel& x) {
225225 if (!j.is_object()) throw std::runtime_error("Expected object");
226+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
226227 x.set_count(j.at("count").get<int64_t>());
227228 x.set_facets(j.at("facets").get<Facets>());
229+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
228230 x.set_limit(j.at("limit").get<int64_t>());
229231 x.set_next(j.at("next").get<std::string>());
232+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
230233 x.set_offset(j.at("offset").get<int64_t>());
231234 x.set_previous(j.at("previous").get<bool>());
232235 x.set_results(j.at("results").get<std::vector<Result>>());
Test case

test/inputs/json/misc/dbfb3.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -714,6 +714,7 @@ namespace quicktype {
714714
715715 inline void from_json(const json & j, Query& x) {
716716 if (!j.is_object()) throw std::runtime_error("Expected object");
717+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
717718 x.set_count(j.at("count").get<int64_t>());
718719 x.set_created(j.at("created").get<std::string>());
719720 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/dc44f.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -421,6 +421,7 @@ namespace quicktype {
421421 inline void from_json(const json & j, Card& x) {
422422 if (!j.is_object()) throw std::runtime_error("Expected object");
423423 x.set_artist(j.at("artist").get<std::string>());
424+ if (j.find("cmc") != j.end() && !j.at("cmc").is_number_integer()) throw std::runtime_error("Expected integer");
424425 x.set_cmc(j.at("cmc").get<int64_t>());
425426 x.set_color_identity(get_stack_optional<std::vector<ColorIdentity>>(j, "colorIdentity"));
426427 x.set_colors(get_stack_optional<std::vector<Color>>(j, "colors"));
@@ -431,6 +432,7 @@ namespace quicktype {
431432 x.set_legalities(j.at("legalities").get<std::vector<LegalityElement>>());
432433 x.set_mana_cost(get_stack_optional<std::string>(j, "manaCost"));
433434 x.set_mci_number(get_stack_optional<std::string>(j, "mciNumber"));
435+ if (j.find("multiverseid") != j.end() && !j.at("multiverseid").is_number_integer()) throw std::runtime_error("Expected integer");
434436 x.set_multiverseid(j.at("multiverseid").get<int64_t>());
435437 x.set_name(j.at("name").get<std::string>());
436438 x.set_original_text(get_stack_optional<std::string>(j, "originalText"));
@@ -488,6 +490,7 @@ namespace quicktype {
488490 x.set_code(j.at("code").get<std::string>());
489491 x.set_gatherer_code(j.at("gathererCode").get<std::string>());
490492 x.set_magic_cards_info_code(j.at("magicCardsInfoCode").get<std::string>());
493+ if (j.find("mkm_id") != j.end() && !j.at("mkm_id").is_number_integer()) throw std::runtime_error("Expected integer");
491494 x.set_mkm_id(j.at("mkm_id").get<int64_t>());
492495 x.set_mkm_name(j.at("mkm_name").get<std::string>());
493496 x.set_name(j.at("name").get<std::string>());
Test case

test/inputs/json/misc/dd1ce.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -421,6 +421,7 @@ namespace quicktype {
421421 inline void from_json(const json & j, Card& x) {
422422 if (!j.is_object()) throw std::runtime_error("Expected object");
423423 x.set_artist(j.at("artist").get<std::string>());
424+ if (j.find("cmc") != j.end() && !j.at("cmc").is_number_integer()) throw std::runtime_error("Expected integer");
424425 x.set_cmc(j.at("cmc").get<int64_t>());
425426 x.set_color_identity(get_stack_optional<std::vector<ColorIdentity>>(j, "colorIdentity"));
426427 x.set_colors(get_stack_optional<std::vector<Color>>(j, "colors"));
@@ -431,6 +432,7 @@ namespace quicktype {
431432 x.set_legalities(j.at("legalities").get<std::vector<LegalityElement>>());
432433 x.set_mana_cost(get_stack_optional<std::string>(j, "manaCost"));
433434 x.set_mci_number(get_stack_optional<std::string>(j, "mciNumber"));
435+ if (j.find("multiverseid") != j.end() && !j.at("multiverseid").is_number_integer()) throw std::runtime_error("Expected integer");
434436 x.set_multiverseid(j.at("multiverseid").get<int64_t>());
435437 x.set_name(j.at("name").get<std::string>());
436438 x.set_original_text(get_stack_optional<std::string>(j, "originalText"));
@@ -488,6 +490,7 @@ namespace quicktype {
488490 x.set_code(j.at("code").get<std::string>());
489491 x.set_gatherer_code(j.at("gathererCode").get<std::string>());
490492 x.set_magic_cards_info_code(j.at("magicCardsInfoCode").get<std::string>());
493+ if (j.find("mkm_id") != j.end() && !j.at("mkm_id").is_number_integer()) throw std::runtime_error("Expected integer");
491494 x.set_mkm_id(j.at("mkm_id").get<int64_t>());
492495 x.set_mkm_name(j.at("mkm_name").get<std::string>());
493496 x.set_name(j.at("name").get<std::string>());
Test case

test/inputs/json/misc/dec3a.json

1 generated file · +4 −0
Mcplusplusdefault / quicktype.hpp+4 −0
@@ -340,6 +340,7 @@ namespace quicktype {
340340 inline void from_json(const json & j, ResponseInfo& x) {
341341 if (!j.is_object()) throw std::runtime_error("Expected object");
342342 x.set_developer_message(j.at("developerMessage").get<std::string>());
343+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
343344 x.set_status(j.at("status").get<int64_t>());
344345 }
345346
@@ -351,8 +352,11 @@ namespace quicktype {
351352
352353 inline void from_json(const json & j, Resultset& x) {
353354 if (!j.is_object()) throw std::runtime_error("Expected object");
355+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
354356 x.set_count(j.at("count").get<int64_t>());
357+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
355358 x.set_page(j.at("page").get<int64_t>());
359+ if (j.find("pagesize") != j.end() && !j.at("pagesize").is_number_integer()) throw std::runtime_error("Expected integer");
356360 x.set_pagesize(j.at("pagesize").get<int64_t>());
357361 }
Test case

test/inputs/json/misc/df957.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -709,6 +709,7 @@ namespace quicktype {
709709
710710 inline void from_json(const json & j, Query& x) {
711711 if (!j.is_object()) throw std::runtime_error("Expected object");
712+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
712713 x.set_count(j.at("count").get<int64_t>());
713714 x.set_created(j.at("created").get<std::string>());
714715 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/e0ac7.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -755,6 +755,7 @@ namespace quicktype {
755755 x.set_id(j.at("id").get<std::string>());
756756 x.set_images(j.at("images").get<Images>());
757757 x.set_import_datetime(j.at("import_datetime").get<std::string>());
758+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
758759 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
759760 x.set_rating(j.at("rating").get<Rating>());
760761 x.set_slug(j.at("slug").get<std::string>());
@@ -794,6 +795,7 @@ namespace quicktype {
794795 if (!j.is_object()) throw std::runtime_error("Expected object");
795796 x.set_msg(j.at("msg").get<std::string>());
796797 x.set_response_id(j.at("response_id").get<std::string>());
798+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
797799 x.set_status(j.at("status").get<int64_t>());
798800 }
799801
@@ -806,8 +808,11 @@ namespace quicktype {
806808
807809 inline void from_json(const json & j, Pagination& x) {
808810 if (!j.is_object()) throw std::runtime_error("Expected object");
811+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
809812 x.set_count(j.at("count").get<int64_t>());
813+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
810814 x.set_offset(j.at("offset").get<int64_t>());
815+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
811816 x.set_total_count(j.at("total_count").get<int64_t>());
812817 }
Test case

test/inputs/json/misc/e2915.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -714,6 +714,7 @@ namespace quicktype {
714714
715715 inline void from_json(const json & j, Query& x) {
716716 if (!j.is_object()) throw std::runtime_error("Expected object");
717+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
717718 x.set_count(j.at("count").get<int64_t>());
718719 x.set_created(j.at("created").get<std::string>());
719720 x.set_lang(j.at("lang").get<std::string>());
Test case

test/inputs/json/misc/e53b5.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -235,9 +235,12 @@ namespace quicktype {
235235
236236 inline void from_json(const json & j, FluffyTopLevel& x) {
237237 if (!j.is_object()) throw std::runtime_error("Expected object");
238+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
238239 x.set_page(j.at("page").get<int64_t>());
240+ if (j.find("pages") != j.end() && !j.at("pages").is_number_integer()) throw std::runtime_error("Expected integer");
239241 x.set_pages(j.at("pages").get<int64_t>());
240242 x.set_per_page(j.at("per_page").get<std::string>());
243+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
241244 x.set_total(j.at("total").get<int64_t>());
242245 }
Test case

test/inputs/json/misc/e8a0b.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/e8b04.json

1 generated file · +20 −0
Mcplusplusdefault / quicktype.hpp+20 −0
@@ -1153,6 +1153,7 @@ namespace quicktype {
11531153
11541154 inline void from_json(const json & j, TableColumnId& x) {
11551155 if (!j.is_object()) throw std::runtime_error("Expected object");
1156+ if (j.find("2819740") != j.end() && !j.at("2819740").is_number_integer()) throw std::runtime_error("Expected integer");
11561157 x.set_the_2819740(j.at("2819740").get<int64_t>());
11571158 }
11581159
@@ -1165,9 +1166,11 @@ namespace quicktype {
11651166 if (!j.is_object()) throw std::runtime_error("Expected object");
11661167 x.set_custom_values(get_stack_optional<std::vector<std::string>>(j, "customValues"));
11671168 x.set_freeform(get_stack_optional<bool>(j, "freeform"));
1169+ if (j.find("includeAuto") != j.end() && !j.at("includeAuto").is_number_integer()) throw std::runtime_error("Expected integer");
11681170 x.set_include_auto(get_stack_optional<int64_t>(j, "includeAuto"));
11691171 x.set_metadata_operator(get_stack_optional<MetadataOperator>(j, "operator"));
11701172 x.set_table_column_id(get_stack_optional<TableColumnId>(j, "tableColumnId"));
1173+ if (j.find("unifiedVersion") != j.end() && !j.at("unifiedVersion").is_number_integer()) throw std::runtime_error("Expected integer");
11711174 x.set_unified_version(get_stack_optional<int64_t>(j, "unifiedVersion"));
11721175 }
11731176
@@ -1255,6 +1258,7 @@ namespace quicktype {
12551258
12561259 inline void from_json(const json & j, Field& x) {
12571260 if (!j.is_object()) throw std::runtime_error("Expected object");
1261+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
12581262 x.set_table_column_id(j.at("tableColumnId").get<int64_t>());
12591263 x.set_type(j.at("type").get<FieldType>());
12601264 }
@@ -1394,6 +1398,7 @@ namespace quicktype {
13941398 x.set_display_name(j.at("displayName").get<std::string>());
13951399 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
13961400 x.set_id(j.at("id").get<std::string>());
1401+ if (j.find("lastNotificationSeenAt") != j.end() && !j.at("lastNotificationSeenAt").is_number_integer()) throw std::runtime_error("Expected integer");
13971402 x.set_last_notification_seen_at(get_stack_optional<int64_t>(j, "lastNotificationSeenAt"));
13981403 x.set_profile_image_url_large(get_stack_optional<std::string>(j, "profileImageUrlLarge"));
13991404 x.set_profile_image_url_medium(get_stack_optional<std::string>(j, "profileImageUrlMedium"));
@@ -1419,6 +1424,7 @@ namespace quicktype {
14191424
14201425 inline void from_json(const json & j, Ratings& x) {
14211426 if (!j.is_object()) throw std::runtime_error("Expected object");
1427+ if (j.find("rating") != j.end() && !j.at("rating").is_number_integer()) throw std::runtime_error("Expected integer");
14221428 x.set_rating(j.at("rating").get<int64_t>());
14231429 }
14241430
@@ -1447,17 +1453,21 @@ namespace quicktype {
14471453
14481454 inline void from_json(const json & j, TopLevelElement& x) {
14491455 if (!j.is_object()) throw std::runtime_error("Expected object");
1456+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
14501457 x.set_average_rating(j.at("averageRating").get<int64_t>());
14511458 x.set_category(get_stack_optional<std::string>(j, "category"));
1459+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
14521460 x.set_created_at(j.at("createdAt").get<int64_t>());
14531461 x.set_description(get_stack_optional<std::string>(j, "description"));
14541462 x.set_display_type(get_stack_optional<DisplayType>(j, "displayType"));
1463+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
14551464 x.set_download_count(j.at("downloadCount").get<int64_t>());
14561465 x.set_flags(get_stack_optional<std::vector<TopLevelFlag>>(j, "flags"));
14571466 x.set_grants(j.at("grants").get<std::vector<Grant>>());
14581467 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
14591468 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
14601469 x.set_id(j.at("id").get<std::string>());
1470+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
14611471 x.set_index_updated_at(get_stack_optional<int64_t>(j, "indexUpdatedAt"));
14621472 x.set_locale(j.at("locale").get<std::string>());
14631473 x.set_metadata(j.at("metadata").get<TopLevelMetadata>());
@@ -1465,26 +1475,36 @@ namespace quicktype {
14651475 x.set_modifying_view_uid(get_stack_optional<ModifyingViewUid>(j, "modifyingViewUid"));
14661476 x.set_name(j.at("name").get<std::string>());
14671477 x.set_new_backend(j.at("newBackend").get<bool>());
1478+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
14681479 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
1480+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
14691481 x.set_oid(j.at("oid").get<int64_t>());
14701482 x.set_owner(j.at("owner").get<Owner>());
14711483 x.set_provenance(j.at("provenance").get<Provenance>());
14721484 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
1485+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
14731486 x.set_publication_date(get_stack_optional<int64_t>(j, "publicationDate"));
1487+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
14741488 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
14751489 x.set_publication_stage(j.at("publicationStage").get<PublicationStage>());
14761490 x.set_ratings(get_stack_optional<Ratings>(j, "ratings"));
14771491 x.set_resource_name(get_stack_optional<std::string>(j, "resourceName"));
14781492 x.set_rights(j.at("rights").get<std::vector<Right>>());
14791493 x.set_row_class(get_stack_optional<std::string>(j, "rowClass"));
1494+ if (j.find("rowIdentifierColumnId") != j.end() && !j.at("rowIdentifierColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
14801495 x.set_row_identifier_column_id(get_stack_optional<int64_t>(j, "rowIdentifierColumnId"));
1496+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
14811497 x.set_rows_updated_at(get_stack_optional<int64_t>(j, "rowsUpdatedAt"));
14821498 x.set_rows_updated_by(get_stack_optional<RowsUpdatedBy>(j, "rowsUpdatedBy"));
14831499 x.set_table_author(j.at("tableAuthor").get<TableAuthor>());
1500+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
14841501 x.set_table_id(j.at("tableId").get<int64_t>());
14851502 x.set_tags(get_stack_optional<std::vector<std::string>>(j, "tags"));
1503+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
14861504 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
1505+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
14871506 x.set_view_count(j.at("viewCount").get<int64_t>());
1507+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
14881508 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
14891509 x.set_view_type(j.at("viewType").get<ViewType>());
14901510 }
Test case

test/inputs/json/misc/f22f5.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -543,8 +543,10 @@ namespace quicktype {
543543 x.set_created_utc(j.at("created_utc").get<double>());
544544 x.set_distinguished(get_untyped(j, "distinguished"));
545545 x.set_domain(j.at("domain").get<std::string>());
546+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
546547 x.set_downs(j.at("downs").get<int64_t>());
547548 x.set_edited(j.at("edited").get<bool>());
549+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
548550 x.set_gilded(j.at("gilded").get<int64_t>());
549551 x.set_hidden(j.at("hidden").get<bool>());
550552 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -559,6 +561,7 @@ namespace quicktype {
559561 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
560562 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
561563 x.set_name(j.at("name").get<std::string>());
564+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
562565 x.set_num_comments(j.at("num_comments").get<int64_t>());
563566 x.set_num_reports(get_untyped(j, "num_reports"));
564567 x.set_over_18(j.at("over_18").get<bool>());
@@ -567,6 +570,7 @@ namespace quicktype {
567570 x.set_removal_reason(get_untyped(j, "removal_reason"));
568571 x.set_report_reasons(get_untyped(j, "report_reasons"));
569572 x.set_saved(j.at("saved").get<bool>());
573+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
570574 x.set_score(j.at("score").get<int64_t>());
571575 x.set_secure_media(get_untyped(j, "secure_media"));
572576 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -581,6 +585,7 @@ namespace quicktype {
581585 x.set_suggested_sort(get_untyped(j, "suggested_sort"));
582586 x.set_thumbnail(j.at("thumbnail").get<std::string>());
583587 x.set_title(j.at("title").get<std::string>());
588+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
584589 x.set_ups(j.at("ups").get<int64_t>());
585590 x.set_url(j.at("url").get<std::string>());
586591 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/misc/f3edf.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/f466a.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -84,11 +84,16 @@ namespace quicktype {
8484
8585 inline void from_json(const json & j, TopLevelElement& x) {
8686 if (!j.is_object()) throw std::runtime_error("Expected object");
87+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
8788 x.set_age(j.at("age").get<int64_t>());
8889 x.set_country(j.at("country").get<Country>());
90+ if (j.find("females") != j.end() && !j.at("females").is_number_integer()) throw std::runtime_error("Expected integer");
8991 x.set_females(j.at("females").get<int64_t>());
92+ if (j.find("males") != j.end() && !j.at("males").is_number_integer()) throw std::runtime_error("Expected integer");
9093 x.set_males(j.at("males").get<int64_t>());
94+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
9195 x.set_total(j.at("total").get<int64_t>());
96+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
9297 x.set_year(j.at("year").get<int64_t>());
9398 }
Test case

test/inputs/json/misc/f6a65.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -760,6 +760,7 @@ namespace quicktype {
760760 x.set_id(j.at("id").get<std::string>());
761761 x.set_images(j.at("images").get<Images>());
762762 x.set_import_datetime(j.at("import_datetime").get<std::string>());
763+ if (j.find("is_indexable") != j.end() && !j.at("is_indexable").is_number_integer()) throw std::runtime_error("Expected integer");
763764 x.set_is_indexable(j.at("is_indexable").get<int64_t>());
764765 x.set_rating(j.at("rating").get<Rating>());
765766 x.set_slug(j.at("slug").get<std::string>());
@@ -799,6 +800,7 @@ namespace quicktype {
799800 if (!j.is_object()) throw std::runtime_error("Expected object");
800801 x.set_msg(j.at("msg").get<std::string>());
801802 x.set_response_id(j.at("response_id").get<std::string>());
803+ if (j.find("status") != j.end() && !j.at("status").is_number_integer()) throw std::runtime_error("Expected integer");
802804 x.set_status(j.at("status").get<int64_t>());
803805 }
804806
@@ -811,8 +813,11 @@ namespace quicktype {
811813
812814 inline void from_json(const json & j, Pagination& x) {
813815 if (!j.is_object()) throw std::runtime_error("Expected object");
816+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
814817 x.set_count(j.at("count").get<int64_t>());
818+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
815819 x.set_offset(j.at("offset").get<int64_t>());
820+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
816821 x.set_total_count(j.at("total_count").get<int64_t>());
817822 }
Test case

test/inputs/json/misc/f74d5.json

1 generated file · +20 −0
Mcplusplusdefault / quicktype.hpp+20 −0
@@ -635,6 +635,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
635635 namespace quicktype {
636636 inline void from_json(const json & j, Top& x) {
637637 if (!j.is_object()) throw std::runtime_error("Expected object");
638+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
638639 x.set_count(j.at("count").get<int64_t>());
639640 x.set_item(j.at("item").get<std::string>());
640641 }
@@ -649,7 +650,9 @@ namespace quicktype {
649650 if (!j.is_object()) throw std::runtime_error("Expected object");
650651 x.set_average(get_stack_optional<std::string>(j, "average"));
651652 x.set_largest(j.at("largest").get<std::string>());
653+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
652654 x.set_non_null(j.at("non_null").get<int64_t>());
655+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
653656 x.set_null(j.at("null").get<int64_t>());
654657 x.set_smallest(j.at("smallest").get<std::string>());
655658 x.set_sum(get_stack_optional<std::string>(j, "sum"));
@@ -685,11 +688,15 @@ namespace quicktype {
685688 x.set_field_name(j.at("fieldName").get<std::string>());
686689 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
687690 x.set_format(j.at("format").get<Query>());
691+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
688692 x.set_id(j.at("id").get<int64_t>());
689693 x.set_name(j.at("name").get<std::string>());
694+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
690695 x.set_position(j.at("position").get<int64_t>());
691696 x.set_render_type_name(j.at("renderTypeName").get<TypeName>());
697+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
692698 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
699+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
693700 x.set_width(get_stack_optional<int64_t>(j, "width"));
694701 }
695702
@@ -786,17 +793,21 @@ namespace quicktype {
786793
787794 inline void from_json(const json & j, View& x) {
788795 if (!j.is_object()) throw std::runtime_error("Expected object");
796+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
789797 x.set_average_rating(j.at("averageRating").get<int64_t>());
790798 x.set_category(j.at("category").get<std::string>());
791799 x.set_columns(j.at("columns").get<std::vector<Column>>());
800+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
792801 x.set_created_at(j.at("createdAt").get<int64_t>());
793802 x.set_display_type(j.at("displayType").get<std::string>());
803+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
794804 x.set_download_count(j.at("downloadCount").get<int64_t>());
795805 x.set_flags(j.at("flags").get<std::vector<std::string>>());
796806 x.set_grants(j.at("grants").get<std::vector<Grant>>());
797807 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
798808 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
799809 x.set_id(j.at("id").get<std::string>());
810+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
800811 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
801812 x.set_license(j.at("license").get<License>());
802813 x.set_license_id(j.at("licenseId").get<std::string>());
@@ -804,23 +815,32 @@ namespace quicktype {
804815 x.set_metadata(j.at("metadata").get<Metadata>());
805816 x.set_name(j.at("name").get<std::string>());
806817 x.set_new_backend(j.at("newBackend").get<bool>());
818+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
807819 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
820+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
808821 x.set_oid(j.at("oid").get<int64_t>());
809822 x.set_owner(j.at("owner").get<Owner>());
810823 x.set_provenance(j.at("provenance").get<std::string>());
811824 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
825+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
812826 x.set_publication_date(j.at("publicationDate").get<int64_t>());
827+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
813828 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
814829 x.set_publication_stage(j.at("publicationStage").get<std::string>());
815830 x.set_query(j.at("query").get<Query>());
816831 x.set_rights(j.at("rights").get<std::vector<std::string>>());
817832 x.set_row_class(j.at("rowClass").get<std::string>());
833+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
818834 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
819835 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
820836 x.set_table_author(j.at("tableAuthor").get<Owner>());
837+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
821838 x.set_table_id(j.at("tableId").get<int64_t>());
839+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
822840 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
841+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
823842 x.set_view_count(j.at("viewCount").get<int64_t>());
843+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
824844 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
825845 x.set_view_type(j.at("viewType").get<std::string>());
826846 }
Test case

test/inputs/json/misc/f974d.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -72,9 +72,12 @@ namespace quicktype {
7272
7373 inline void from_json(const json & j, TopLevel& x) {
7474 if (!j.is_object()) throw std::runtime_error("Expected object");
75+ if (j.find("block_index") != j.end() && !j.at("block_index").is_number_integer()) throw std::runtime_error("Expected integer");
7576 x.set_block_index(j.at("block_index").get<int64_t>());
7677 x.set_hash(j.at("hash").get<std::string>());
78+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
7779 x.set_height(j.at("height").get<int64_t>());
80+ if (j.find("time") != j.end() && !j.at("time").is_number_integer()) throw std::runtime_error("Expected integer");
7881 x.set_time(j.at("time").get<int64_t>());
7982 x.set_tx_indexes(j.at("txIndexes").get<std::vector<int64_t>>());
8083 }
Test case

test/inputs/json/misc/faff5.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -74,7 +74,9 @@ namespace quicktype {
7474
7575 inline void from_json(const json & j, Response& x) {
7676 if (!j.is_object()) throw std::runtime_error("Expected object");
77+ if (j.find("player_count") != j.end() && !j.at("player_count").is_number_integer()) throw std::runtime_error("Expected integer");
7778 x.set_player_count(j.at("player_count").get<int64_t>());
79+ if (j.find("result") != j.end() && !j.at("result").is_number_integer()) throw std::runtime_error("Expected integer");
7880 x.set_result(j.at("result").get<int64_t>());
7981 }
Test case

test/inputs/json/misc/fcca3.json

1 generated file · +23 −0
Mcplusplusdefault / quicktype.hpp+23 −0
@@ -1074,6 +1074,7 @@ struct adl_serializer<std::variant<int64_t, std::string>> {
10741074 namespace quicktype {
10751075 inline void from_json(const json & j, Top& x) {
10761076 if (!j.is_object()) throw std::runtime_error("Expected object");
1077+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
10771078 x.set_count(j.at("count").get<int64_t>());
10781079 x.set_item(j.at("item").get<std::string>());
10791080 }
@@ -1088,7 +1089,9 @@ namespace quicktype {
10881089 if (!j.is_object()) throw std::runtime_error("Expected object");
10891090 x.set_average(get_stack_optional<std::string>(j, "average"));
10901091 x.set_largest(j.at("largest").get<std::string>());
1092+ if (j.find("non_null") != j.end() && !j.at("non_null").is_number_integer()) throw std::runtime_error("Expected integer");
10911093 x.set_non_null(j.at("non_null").get<int64_t>());
1094+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
10921095 x.set_null(j.at("null").get<int64_t>());
10931096 x.set_smallest(j.at("smallest").get<std::string>());
10941097 x.set_sum(get_stack_optional<std::string>(j, "sum"));
@@ -1128,11 +1131,15 @@ namespace quicktype {
11281131 x.set_field_name(j.at("fieldName").get<std::string>());
11291132 x.set_flags(get_stack_optional<std::vector<std::string>>(j, "flags"));
11301133 x.set_format(j.at("format").get<Format>());
1134+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
11311135 x.set_id(j.at("id").get<int64_t>());
11321136 x.set_name(j.at("name").get<std::string>());
1137+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
11331138 x.set_position(j.at("position").get<int64_t>());
11341139 x.set_render_type_name(j.at("renderTypeName").get<TypeName>());
1140+ if (j.find("tableColumnId") != j.end() && !j.at("tableColumnId").is_number_integer()) throw std::runtime_error("Expected integer");
11351141 x.set_table_column_id(get_stack_optional<int64_t>(j, "tableColumnId"));
1142+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
11361143 x.set_width(get_stack_optional<int64_t>(j, "width"));
11371144 }
11381145
@@ -1256,6 +1263,7 @@ namespace quicktype {
12561263
12571264 inline void from_json(const json & j, TableColumnId& x) {
12581265 if (!j.is_object()) throw std::runtime_error("Expected object");
1266+ if (j.find("703610") != j.end() && !j.at("703610").is_number_integer()) throw std::runtime_error("Expected integer");
12591267 x.set_the_703610(j.at("703610").get<int64_t>());
12601268 }
12611269
@@ -1295,6 +1303,7 @@ namespace quicktype {
12951303 inline void from_json(const json & j, FilterConditionMetadata& x) {
12961304 if (!j.is_object()) throw std::runtime_error("Expected object");
12971305 x.set_advanced(j.at("advanced").get<bool>());
1306+ if (j.find("unifiedVersion") != j.end() && !j.at("unifiedVersion").is_number_integer()) throw std::runtime_error("Expected integer");
12981307 x.set_unified_version(j.at("unifiedVersion").get<int64_t>());
12991308 }
13001309
@@ -1412,6 +1421,7 @@ namespace quicktype {
14121421
14131422 inline void from_json(const json & j, Expression& x) {
14141423 if (!j.is_object()) throw std::runtime_error("Expected object");
1424+ if (j.find("columnId") != j.end() && !j.at("columnId").is_number_integer()) throw std::runtime_error("Expected integer");
14151425 x.set_column_id(j.at("columnId").get<int64_t>());
14161426 x.set_type(j.at("type").get<std::string>());
14171427 }
@@ -1447,40 +1457,53 @@ namespace quicktype {
14471457 inline void from_json(const json & j, View& x) {
14481458 if (!j.is_object()) throw std::runtime_error("Expected object");
14491459 x.set_attribution(j.at("attribution").get<std::string>());
1460+ if (j.find("averageRating") != j.end() && !j.at("averageRating").is_number_integer()) throw std::runtime_error("Expected integer");
14501461 x.set_average_rating(j.at("averageRating").get<int64_t>());
14511462 x.set_category(j.at("category").get<std::string>());
14521463 x.set_columns(j.at("columns").get<std::vector<Column>>());
1464+ if (j.find("createdAt") != j.end() && !j.at("createdAt").is_number_integer()) throw std::runtime_error("Expected integer");
14531465 x.set_created_at(j.at("createdAt").get<int64_t>());
14541466 x.set_description(j.at("description").get<std::string>());
14551467 x.set_display_type(j.at("displayType").get<std::string>());
1468+ if (j.find("downloadCount") != j.end() && !j.at("downloadCount").is_number_integer()) throw std::runtime_error("Expected integer");
14561469 x.set_download_count(j.at("downloadCount").get<int64_t>());
14571470 x.set_flags(j.at("flags").get<std::vector<std::string>>());
14581471 x.set_grants(j.at("grants").get<std::vector<Grant>>());
14591472 x.set_hide_from_catalog(j.at("hideFromCatalog").get<bool>());
14601473 x.set_hide_from_data_json(j.at("hideFromDataJson").get<bool>());
14611474 x.set_id(j.at("id").get<std::string>());
1475+ if (j.find("indexUpdatedAt") != j.end() && !j.at("indexUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
14621476 x.set_index_updated_at(j.at("indexUpdatedAt").get<int64_t>());
14631477 x.set_locale(j.at("locale").get<std::string>());
14641478 x.set_metadata(j.at("metadata").get<ViewMetadata>());
14651479 x.set_name(j.at("name").get<std::string>());
14661480 x.set_new_backend(j.at("newBackend").get<bool>());
1481+ if (j.find("numberOfComments") != j.end() && !j.at("numberOfComments").is_number_integer()) throw std::runtime_error("Expected integer");
14671482 x.set_number_of_comments(j.at("numberOfComments").get<int64_t>());
1483+ if (j.find("oid") != j.end() && !j.at("oid").is_number_integer()) throw std::runtime_error("Expected integer");
14681484 x.set_oid(j.at("oid").get<int64_t>());
14691485 x.set_owner(j.at("owner").get<Owner>());
14701486 x.set_provenance(j.at("provenance").get<std::string>());
14711487 x.set_publication_append_enabled(j.at("publicationAppendEnabled").get<bool>());
1488+ if (j.find("publicationDate") != j.end() && !j.at("publicationDate").is_number_integer()) throw std::runtime_error("Expected integer");
14721489 x.set_publication_date(j.at("publicationDate").get<int64_t>());
1490+ if (j.find("publicationGroup") != j.end() && !j.at("publicationGroup").is_number_integer()) throw std::runtime_error("Expected integer");
14731491 x.set_publication_group(j.at("publicationGroup").get<int64_t>());
14741492 x.set_publication_stage(j.at("publicationStage").get<std::string>());
14751493 x.set_query(j.at("query").get<Query>());
14761494 x.set_rights(j.at("rights").get<std::vector<std::string>>());
1495+ if (j.find("rowsUpdatedAt") != j.end() && !j.at("rowsUpdatedAt").is_number_integer()) throw std::runtime_error("Expected integer");
14771496 x.set_rows_updated_at(j.at("rowsUpdatedAt").get<int64_t>());
14781497 x.set_rows_updated_by(j.at("rowsUpdatedBy").get<std::string>());
14791498 x.set_table_author(j.at("tableAuthor").get<Owner>());
1499+ if (j.find("tableId") != j.end() && !j.at("tableId").is_number_integer()) throw std::runtime_error("Expected integer");
14801500 x.set_table_id(j.at("tableId").get<int64_t>());
14811501 x.set_tags(j.at("tags").get<std::vector<std::string>>());
1502+ if (j.find("totalTimesRated") != j.end() && !j.at("totalTimesRated").is_number_integer()) throw std::runtime_error("Expected integer");
14821503 x.set_total_times_rated(j.at("totalTimesRated").get<int64_t>());
1504+ if (j.find("viewCount") != j.end() && !j.at("viewCount").is_number_integer()) throw std::runtime_error("Expected integer");
14831505 x.set_view_count(j.at("viewCount").get<int64_t>());
1506+ if (j.find("viewLastModified") != j.end() && !j.at("viewLastModified").is_number_integer()) throw std::runtime_error("Expected integer");
14841507 x.set_view_last_modified(j.at("viewLastModified").get<int64_t>());
14851508 x.set_view_type(j.at("viewType").get<std::string>());
14861509 }
Test case

test/inputs/json/misc/fd329.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -124,6 +124,7 @@ namespace quicktype {
124124 inline void from_json(const json & j, Description& x) {
125125 if (!j.is_object()) throw std::runtime_error("Expected object");
126126 x.set_base_period(j.at("base_period").get<std::string>());
127+ if (j.find("missing") != j.end() && !j.at("missing").is_number_integer()) throw std::runtime_error("Expected integer");
127128 x.set_missing(j.at("missing").get<int64_t>());
128129 x.set_title(j.at("title").get<std::string>());
129130 x.set_units(j.at("units").get<std::string>());
Test case

test/inputs/json/priority/bug427.json

1 generated file · +62 −0
Mcplusplusdefault / quicktype.hpp+62 −0
@@ -2763,8 +2763,10 @@ namespace quicktype {
27632763
27642764 inline void from_json(const json & j, Source& x) {
27652765 if (!j.is_object()) throw std::runtime_error("Expected object");
2766+ if (j.find("character") != j.end() && !j.at("character").is_number_integer()) throw std::runtime_error("Expected integer");
27662767 x.set_character(j.at("character").get<int64_t>());
27672768 x.set_file_name(j.at("fileName").get<FileName>());
2769+ if (j.find("line") != j.end() && !j.at("line").is_number_integer()) throw std::runtime_error("Expected integer");
27682770 x.set_line(j.at("line").get<int64_t>());
27692771 }
27702772
@@ -2792,6 +2794,7 @@ namespace quicktype {
27922794 inline void from_json(const json & j, Group& x) {
27932795 if (!j.is_object()) throw std::runtime_error("Expected object");
27942796 x.set_children(j.at("children").get<std::vector<int64_t>>());
2797+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
27952798 x.set_kind(j.at("kind").get<int64_t>());
27962799 x.set_title(j.at("title").get<std::string>());
27972800 }
@@ -2847,7 +2850,9 @@ namespace quicktype {
28472850 if (!j.is_object()) throw std::runtime_error("Expected object");
28482851 x.set_comment(get_stack_optional<TentacledComment>(j, "comment"));
28492852 x.set_flags(j.at("flags").get<TentacledFlags>());
2853+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
28502854 x.set_id(j.at("id").get<int64_t>());
2855+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
28512856 x.set_kind(j.at("kind").get<int64_t>());
28522857 x.set_kind_string(j.at("kindString").get<ParameterKindString>());
28532858 x.set_name(j.at("name").get<std::string>());
@@ -2884,7 +2889,9 @@ namespace quicktype {
28842889 inline void from_json(const json & j, IndexSignatureElement& x) {
28852890 if (!j.is_object()) throw std::runtime_error("Expected object");
28862891 x.set_flags(j.at("flags").get<GetSignatureFlags>());
2892+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
28872893 x.set_id(j.at("id").get<int64_t>());
2894+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
28882895 x.set_kind(j.at("kind").get<int64_t>());
28892896 x.set_kind_string(j.at("kindString").get<std::string>());
28902897 x.set_name(j.at("name").get<std::string>());
@@ -2921,7 +2928,9 @@ namespace quicktype {
29212928 if (!j.is_object()) throw std::runtime_error("Expected object");
29222929 x.set_comment(get_stack_optional<FluffyComment>(j, "comment"));
29232930 x.set_flags(j.at("flags").get<FluffyFlags>());
2931+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
29242932 x.set_id(j.at("id").get<int64_t>());
2933+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
29252934 x.set_kind(j.at("kind").get<int64_t>());
29262935 x.set_kind_string(j.at("kindString").get<PurpleKindString>());
29272936 x.set_name(j.at("name").get<std::string>());
@@ -2948,7 +2957,9 @@ namespace quicktype {
29482957 x.set_default_value(get_stack_optional<std::string>(j, "defaultValue"));
29492958 x.set_flags(j.at("flags").get<GetSignatureFlags>());
29502959 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
2960+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
29512961 x.set_id(j.at("id").get<int64_t>());
2962+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
29522963 x.set_kind(j.at("kind").get<int64_t>());
29532964 x.set_kind_string(j.at("kindString").get<std::string>());
29542965 x.set_name(j.at("name").get<std::string>());
@@ -2982,7 +2993,9 @@ namespace quicktype {
29822993 x.set_children(j.at("children").get<std::vector<GetSignature>>());
29832994 x.set_flags(j.at("flags").get<GetSignatureFlags>());
29842995 x.set_groups(j.at("groups").get<std::vector<Group>>());
2996+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
29852997 x.set_id(j.at("id").get<int64_t>());
2998+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
29862999 x.set_kind(j.at("kind").get<int64_t>());
29873000 x.set_kind_string(j.at("kindString").get<std::string>());
29883001 x.set_name(j.at("name").get<std::string>());
@@ -3017,7 +3030,9 @@ namespace quicktype {
30173030 if (!j.is_object()) throw std::runtime_error("Expected object");
30183031 x.set_comment(get_stack_optional<PurpleComment>(j, "comment"));
30193032 x.set_flags(j.at("flags").get<GetSignatureFlags>());
3033+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
30203034 x.set_id(j.at("id").get<int64_t>());
3035+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
30213036 x.set_kind(j.at("kind").get<int64_t>());
30223037 x.set_kind_string(j.at("kindString").get<SignatureKindString>());
30233038 x.set_name(j.at("name").get<std::string>());
@@ -3060,7 +3075,9 @@ namespace quicktype {
30603075 x.set_comment(get_stack_optional<PurpleComment>(j, "comment"));
30613076 x.set_default_value(get_stack_optional<std::string>(j, "defaultValue"));
30623077 x.set_flags(j.at("flags").get<PurpleFlags>());
3078+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
30633079 x.set_id(j.at("id").get<int64_t>());
3080+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
30643081 x.set_kind(j.at("kind").get<int64_t>());
30653082 x.set_kind_string(j.at("kindString").get<PurpleKindString>());
30663083 x.set_name(j.at("name").get<std::string>());
@@ -3136,6 +3153,7 @@ namespace quicktype {
31363153 inline void from_json(const json & j, ExtendedBy& x) {
31373154 if (!j.is_object()) throw std::runtime_error("Expected object");
31383155 x.set_constraint(get_heap_optional<ExtendedBy>(j, "constraint"));
3156+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
31393157 x.set_id(get_stack_optional<int64_t>(j, "id"));
31403158 x.set_name(j.at("name").get<std::string>());
31413159 x.set_type(j.at("type").get<TypeEnum>());
@@ -3169,6 +3187,7 @@ namespace quicktype {
31693187 x.set_declaration(get_heap_optional<GetSignature>(j, "declaration"));
31703188 x.set_element_type(get_stack_optional<ElementType>(j, "elementType"));
31713189 x.set_elements(get_stack_optional<std::vector<ExtendedBy>>(j, "elements"));
3190+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
31723191 x.set_id(get_stack_optional<int64_t>(j, "id"));
31733192 x.set_name(get_stack_optional<std::string>(j, "name"));
31743193 x.set_type(j.at("type").get<TypeEnum>());
@@ -3191,7 +3210,9 @@ namespace quicktype {
31913210 if (!j.is_object()) throw std::runtime_error("Expected object");
31923211 x.set_comment(get_stack_optional<TentacledComment>(j, "comment"));
31933212 x.set_flags(j.at("flags").get<GetSignatureFlags>());
3213+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
31943214 x.set_id(j.at("id").get<int64_t>());
3215+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
31953216 x.set_kind(j.at("kind").get<int64_t>());
31963217 x.set_kind_string(j.at("kindString").get<ParameterKindString>());
31973218 x.set_name(j.at("name").get<std::string>());
@@ -3213,9 +3234,11 @@ namespace quicktype {
32133234 if (!j.is_object()) throw std::runtime_error("Expected object");
32143235 x.set_comment(get_stack_optional<StickyComment>(j, "comment"));
32153236 x.set_flags(j.at("flags").get<IndigoFlags>());
3237+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
32163238 x.set_id(j.at("id").get<int64_t>());
32173239 x.set_implementation_of(get_heap_optional<ExtendedBy>(j, "implementationOf"));
32183240 x.set_inherited_from(get_heap_optional<ExtendedBy>(j, "inheritedFrom"));
3241+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
32193242 x.set_kind(j.at("kind").get<int64_t>());
32203243 x.set_kind_string(j.at("kindString").get<SignatureKindString>());
32213244 x.set_name(j.at("name").get<std::string>());
@@ -3261,7 +3284,9 @@ namespace quicktype {
32613284 if (!j.is_object()) throw std::runtime_error("Expected object");
32623285 x.set_comment(get_stack_optional<FluffyComment>(j, "comment"));
32633286 x.set_flags(j.at("flags").get<FluffyFlags>());
3287+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
32643288 x.set_id(j.at("id").get<int64_t>());
3289+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
32653290 x.set_kind(j.at("kind").get<int64_t>());
32663291 x.set_kind_string(j.at("kindString").get<PurpleKindString>());
32673292 x.set_name(j.at("name").get<std::string>());
@@ -3296,7 +3321,9 @@ namespace quicktype {
32963321 inline void from_json(const json & j, IndexSignature& x) {
32973322 if (!j.is_object()) throw std::runtime_error("Expected object");
32983323 x.set_flags(j.at("flags").get<GetSignatureFlags>());
3324+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
32993325 x.set_id(j.at("id").get<int64_t>());
3326+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
33003327 x.set_kind(j.at("kind").get<int64_t>());
33013328 x.set_kind_string(j.at("kindString").get<std::string>());
33023329 x.set_name(j.at("name").get<std::string>());
@@ -3331,7 +3358,9 @@ namespace quicktype {
33313358 if (!j.is_object()) throw std::runtime_error("Expected object");
33323359 x.set_comment(get_stack_optional<FluffyComment>(j, "comment"));
33333360 x.set_flags(j.at("flags").get<FluffyFlags>());
3361+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
33343362 x.set_id(j.at("id").get<int64_t>());
3363+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
33353364 x.set_kind(j.at("kind").get<int64_t>());
33363365 x.set_kind_string(j.at("kindString").get<std::string>());
33373366 x.set_name(j.at("name").get<std::string>());
@@ -3355,7 +3384,9 @@ namespace quicktype {
33553384 if (!j.is_object()) throw std::runtime_error("Expected object");
33563385 x.set_comment(get_stack_optional<IndigoComment>(j, "comment"));
33573386 x.set_flags(j.at("flags").get<GetSignatureFlags>());
3387+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
33583388 x.set_id(j.at("id").get<int64_t>());
3389+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
33593390 x.set_kind(j.at("kind").get<int64_t>());
33603391 x.set_kind_string(j.at("kindString").get<SignatureKindString>());
33613392 x.set_name(j.at("name").get<std::string>());
@@ -3380,8 +3411,10 @@ namespace quicktype {
33803411 x.set_children(get_stack_optional<std::vector<StickyChild>>(j, "children"));
33813412 x.set_flags(j.at("flags").get<GetSignatureFlags>());
33823413 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
3414+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
33833415 x.set_id(j.at("id").get<int64_t>());
33843416 x.set_index_signature(get_stack_optional<IndexSignature>(j, "indexSignature"));
3417+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
33853418 x.set_kind(j.at("kind").get<int64_t>());
33863419 x.set_kind_string(j.at("kindString").get<std::string>());
33873420 x.set_name(j.at("name").get<std::string>());
@@ -3423,6 +3456,7 @@ namespace quicktype {
34233456 x.set_declaration(get_stack_optional<FluffyDeclaration>(j, "declaration"));
34243457 x.set_element_type(get_heap_optional<ExtendedBy>(j, "elementType"));
34253458 x.set_elements(get_stack_optional<std::vector<ElementType>>(j, "elements"));
3459+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
34263460 x.set_id(get_stack_optional<int64_t>(j, "id"));
34273461 x.set_name(get_stack_optional<std::string>(j, "name"));
34283462 x.set_type(j.at("type").get<TypeEnum>());
@@ -3451,9 +3485,11 @@ namespace quicktype {
34513485 x.set_flags(j.at("flags").get<StickyFlags>());
34523486 x.set_get_signature(get_heap_optional<GetSignature>(j, "getSignature"));
34533487 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
3488+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
34543489 x.set_id(j.at("id").get<int64_t>());
34553490 x.set_implementation_of(get_heap_optional<ExtendedBy>(j, "implementationOf"));
34563491 x.set_inherited_from(get_heap_optional<ExtendedBy>(j, "inheritedFrom"));
3492+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
34573493 x.set_kind(j.at("kind").get<int64_t>());
34583494 x.set_kind_string(j.at("kindString").get<PurpleKindString>());
34593495 x.set_name(j.at("name").get<std::string>());
@@ -3512,7 +3548,9 @@ namespace quicktype {
35123548 x.set_comment(j.at("comment").get<FluffyComment>());
35133549 x.set_default_value(get_stack_optional<std::string>(j, "defaultValue"));
35143550 x.set_flags(j.at("flags").get<FluffyFlags>());
3551+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
35153552 x.set_id(j.at("id").get<int64_t>());
3553+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
35163554 x.set_kind(j.at("kind").get<int64_t>());
35173555 x.set_kind_string(j.at("kindString").get<PurpleKindString>());
35183556 x.set_name(j.at("name").get<std::string>());
@@ -3538,8 +3576,10 @@ namespace quicktype {
35383576 x.set_children(get_stack_optional<std::vector<IndigoChild>>(j, "children"));
35393577 x.set_flags(j.at("flags").get<GetSignatureFlags>());
35403578 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
3579+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
35413580 x.set_id(j.at("id").get<int64_t>());
35423581 x.set_index_signature(get_heap_optional<IndexSignatureElement>(j, "indexSignature"));
3582+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
35433583 x.set_kind(j.at("kind").get<int64_t>());
35443584 x.set_kind_string(j.at("kindString").get<std::string>());
35453585 x.set_name(j.at("name").get<std::string>());
@@ -3565,6 +3605,7 @@ namespace quicktype {
35653605 if (!j.is_object()) throw std::runtime_error("Expected object");
35663606 x.set_declaration(get_stack_optional<TentacledDeclaration>(j, "declaration"));
35673607 x.set_element_type(get_stack_optional<ElementType>(j, "elementType"));
3608+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
35683609 x.set_id(get_stack_optional<int64_t>(j, "id"));
35693610 x.set_name(get_stack_optional<std::string>(j, "name"));
35703611 x.set_type(j.at("type").get<TypeEnum>());
@@ -3586,7 +3627,9 @@ namespace quicktype {
35863627 x.set_comment(get_stack_optional<TentacledComment>(j, "comment"));
35873628 x.set_default_value(get_stack_optional<std::string>(j, "defaultValue"));
35883629 x.set_flags(j.at("flags").get<TentacledFlags>());
3630+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
35893631 x.set_id(j.at("id").get<int64_t>());
3632+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
35903633 x.set_kind(j.at("kind").get<int64_t>());
35913634 x.set_kind_string(j.at("kindString").get<ParameterKindString>());
35923635 x.set_name(j.at("name").get<std::string>());
@@ -3610,6 +3653,7 @@ namespace quicktype {
36103653 inline void from_json(const json & j, CunningType& x) {
36113654 if (!j.is_object()) throw std::runtime_error("Expected object");
36123655 x.set_declaration(get_stack_optional<PurpleDeclaration>(j, "declaration"));
3656+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
36133657 x.set_id(get_stack_optional<int64_t>(j, "id"));
36143658 x.set_name(get_stack_optional<Name>(j, "name"));
36153659 x.set_type(j.at("type").get<TypeEnum>());
@@ -3629,7 +3673,9 @@ namespace quicktype {
36293673 if (!j.is_object()) throw std::runtime_error("Expected object");
36303674 x.set_comment(j.at("comment").get<StickyComment>());
36313675 x.set_flags(j.at("flags").get<IndigoFlags>());
3676+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
36323677 x.set_id(j.at("id").get<int64_t>());
3678+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
36333679 x.set_kind(j.at("kind").get<int64_t>());
36343680 x.set_kind_string(j.at("kindString").get<SignatureKindString>());
36353681 x.set_name(j.at("name").get<std::string>());
@@ -3656,7 +3702,9 @@ namespace quicktype {
36563702 x.set_children(get_stack_optional<std::vector<GetSignature>>(j, "children"));
36573703 x.set_flags(j.at("flags").get<GetSignatureFlags>());
36583704 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
3705+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
36593706 x.set_id(j.at("id").get<int64_t>());
3707+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
36603708 x.set_kind(j.at("kind").get<int64_t>());
36613709 x.set_kind_string(j.at("kindString").get<std::string>());
36623710 x.set_name(j.at("name").get<std::string>());
@@ -3694,7 +3742,9 @@ namespace quicktype {
36943742 inline void from_json(const json & j, IndecentChild& x) {
36953743 if (!j.is_object()) throw std::runtime_error("Expected object");
36963744 x.set_flags(j.at("flags").get<FluffyFlags>());
3745+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
36973746 x.set_id(j.at("id").get<int64_t>());
3747+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
36983748 x.set_kind(j.at("kind").get<int64_t>());
36993749 x.set_kind_string(j.at("kindString").get<PurpleKindString>());
37003750 x.set_name(j.at("name").get<std::string>());
@@ -3718,7 +3768,9 @@ namespace quicktype {
37183768 x.set_children(get_stack_optional<std::vector<IndecentChild>>(j, "children"));
37193769 x.set_flags(j.at("flags").get<GetSignatureFlags>());
37203770 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
3771+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
37213772 x.set_id(j.at("id").get<int64_t>());
3773+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
37223774 x.set_kind(j.at("kind").get<int64_t>());
37233775 x.set_kind_string(j.at("kindString").get<std::string>());
37243776 x.set_name(j.at("name").get<std::string>());
@@ -3756,6 +3808,7 @@ namespace quicktype {
37563808 x.set_declaration(get_stack_optional<StickyDeclaration>(j, "declaration"));
37573809 x.set_element_type(get_stack_optional<ElementType>(j, "elementType"));
37583810 x.set_elements(get_stack_optional<std::vector<ExtendedBy>>(j, "elements"));
3811+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
37593812 x.set_id(get_stack_optional<int64_t>(j, "id"));
37603813 x.set_name(get_stack_optional<std::string>(j, "name"));
37613814 x.set_type(j.at("type").get<TypeEnum>());
@@ -3779,6 +3832,7 @@ namespace quicktype {
37793832
37803833 inline void from_json(const json & j, MischievousType& x) {
37813834 if (!j.is_object()) throw std::runtime_error("Expected object");
3835+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
37823836 x.set_id(get_stack_optional<int64_t>(j, "id"));
37833837 x.set_name(get_stack_optional<Name>(j, "name"));
37843838 x.set_target(get_stack_optional<ElementType>(j, "target"));
@@ -3799,7 +3853,9 @@ namespace quicktype {
37993853 if (!j.is_object()) throw std::runtime_error("Expected object");
38003854 x.set_comment(get_stack_optional<PurpleComment>(j, "comment"));
38013855 x.set_flags(j.at("flags").get<GetSignatureFlags>());
3856+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
38023857 x.set_id(j.at("id").get<int64_t>());
3858+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
38033859 x.set_kind(j.at("kind").get<int64_t>());
38043860 x.set_kind_string(j.at("kindString").get<std::string>());
38053861 x.set_name(j.at("name").get<std::string>());
@@ -3826,9 +3882,11 @@ namespace quicktype {
38263882 x.set_extended_types(get_stack_optional<std::vector<ExtendedBy>>(j, "extendedTypes"));
38273883 x.set_flags(j.at("flags").get<IndecentFlags>());
38283884 x.set_groups(get_stack_optional<std::vector<Group>>(j, "groups"));
3885+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
38293886 x.set_id(j.at("id").get<int64_t>());
38303887 x.set_implemented_by(get_stack_optional<std::vector<ExtendedBy>>(j, "implementedBy"));
38313888 x.set_implemented_types(get_stack_optional<std::vector<ExtendedBy>>(j, "implementedTypes"));
3889+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
38323890 x.set_kind(j.at("kind").get<int64_t>());
38333891 x.set_kind_string(j.at("kindString").get<FluffyKindString>());
38343892 x.set_name(j.at("name").get<std::string>());
@@ -3877,7 +3935,9 @@ namespace quicktype {
38773935 x.set_comment(get_stack_optional<IndecentComment>(j, "comment"));
38783936 x.set_flags(j.at("flags").get<PurpleFlags>());
38793937 x.set_groups(j.at("groups").get<std::vector<Group>>());
3938+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
38803939 x.set_id(j.at("id").get<int64_t>());
3940+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
38813941 x.set_kind(j.at("kind").get<int64_t>());
38823942 x.set_kind_string(j.at("kindString").get<TentacledKindString>());
38833943 x.set_name(j.at("name").get<std::string>());
@@ -3904,7 +3964,9 @@ namespace quicktype {
39043964 x.set_children(j.at("children").get<std::vector<TopLevelChild>>());
39053965 x.set_flags(j.at("flags").get<GetSignatureFlags>());
39063966 x.set_groups(j.at("groups").get<std::vector<Group>>());
3967+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
39073968 x.set_id(j.at("id").get<int64_t>());
3969+ if (j.find("kind") != j.end() && !j.at("kind").is_number_integer()) throw std::runtime_error("Expected integer");
39083970 x.set_kind(j.at("kind").get<int64_t>());
39093971 x.set_name(j.at("name").get<std::string>());
39103972 }
Test case

test/inputs/json/priority/bug790.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -88,12 +88,17 @@ namespace quicktype {
8888 inline void from_json(const json & j, TopLevel& x) {
8989 if (!j.is_object()) throw std::runtime_error("Expected object");
9090 x.set_children_data(j.at("children_data").get<std::vector<TopLevel>>());
91+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
9192 x.set_id(j.at("id").get<int64_t>());
9293 x.set_is_active(j.at("is_active").get<bool>());
94+ if (j.find("level") != j.end() && !j.at("level").is_number_integer()) throw std::runtime_error("Expected integer");
9395 x.set_level(j.at("level").get<int64_t>());
9496 x.set_name(j.at("name").get<std::string>());
97+ if (j.find("parent_id") != j.end() && !j.at("parent_id").is_number_integer()) throw std::runtime_error("Expected integer");
9598 x.set_parent_id(j.at("parent_id").get<int64_t>());
99+ if (j.find("position") != j.end() && !j.at("position").is_number_integer()) throw std::runtime_error("Expected integer");
96100 x.set_position(j.at("position").get<int64_t>());
101+ if (j.find("product_count") != j.end() && !j.at("product_count").is_number_integer()) throw std::runtime_error("Expected integer");
97102 x.set_product_count(j.at("product_count").get<int64_t>());
98103 }
Test case

test/inputs/json/priority/bug855-short.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -77,7 +77,9 @@ namespace quicktype {
7777 x.set_channel_id(j.at("channel_id").get<std::string>());
7878 x.set_channel_name(j.at("channel_name").get<std::string>());
7979 x.set_code(j.at("code").get<std::string>());
80+ if (j.find("emoticon_set") != j.end() && !j.at("emoticon_set").is_number_integer()) throw std::runtime_error("Expected integer");
8081 x.set_emoticon_set(j.at("emoticon_set").get<int64_t>());
82+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
8183 x.set_id(j.at("id").get<int64_t>());
8284 }
Test case

test/inputs/json/priority/bug863.json

1 generated file · +35 −0
Mcplusplusdefault / quicktype.hpp+35 −0
@@ -418,20 +418,27 @@ struct adl_serializer<std::variant<std::vector<quicktype::PurpleTopLevel>, quick
418418 namespace quicktype {
419419 inline void from_json(const json & j, PurpleTopLevel& x) {
420420 if (!j.is_object()) throw std::runtime_error("Expected object");
421+ if (j.find("ALIENLEVEL") != j.end() && !j.at("ALIENLEVEL").is_number_integer()) throw std::runtime_error("Expected integer");
421422 x.set_alienlevel(j.at("ALIENLEVEL").get<int64_t>());
422423 x.set_breed(j.at("BREED").get<Breed>());
424+ if (j.find("CHAR_DIMENSION") != j.end() && !j.at("CHAR_DIMENSION").is_number_integer()) throw std::runtime_error("Expected integer");
423425 x.set_char_dimension(j.at("CHAR_DIMENSION").get<int64_t>());
426+ if (j.find("CHAR_INSTANCE") != j.end() && !j.at("CHAR_INSTANCE").is_number_integer()) throw std::runtime_error("Expected integer");
424427 x.set_char_instance(j.at("CHAR_INSTANCE").get<int64_t>());
425428 x.set_defender_rank_title(j.at("DEFENDER_RANK_TITLE").get<std::string>());
426429 x.set_firstname(j.at("FIRSTNAME").get<Firstname>());
430+ if (j.find("HEADID") != j.end() && !j.at("HEADID").is_number_integer()) throw std::runtime_error("Expected integer");
427431 x.set_headid(j.at("HEADID").get<int64_t>());
428432 x.set_lastname(j.at("LASTNAME").get<Lastname>());
433+ if (j.find("LEVELX") != j.end() && !j.at("LEVELX").is_number_integer()) throw std::runtime_error("Expected integer");
429434 x.set_levelx(j.at("LEVELX").get<int64_t>());
430435 x.set_name(j.at("NAME").get<std::string>());
431436 x.set_prof(j.at("PROF").get<std::string>());
432437 x.set_prof_title(j.at("PROF_TITLE").get<std::string>());
438+ if (j.find("PVPRATING") != j.end() && !j.at("PVPRATING").is_number_integer()) throw std::runtime_error("Expected integer");
433439 x.set_pvprating(j.at("PVPRATING").get<int64_t>());
434440 x.set_pvptitle(j.at("PVPTITLE").get<Pvptitle>());
441+ if (j.find("RANK") != j.end() && !j.at("RANK").is_number_integer()) throw std::runtime_error("Expected integer");
435442 x.set_rank(j.at("RANK").get<int64_t>());
436443 x.set_rank_title(j.at("RANK_TITLE").get<RankTitle>());
437444 x.set_sex(j.at("SEX").get<Sex>());
@@ -460,40 +467,68 @@ namespace quicktype {
460467
461468 inline void from_json(const json & j, FluffyTopLevel& x) {
462469 if (!j.is_object()) throw std::runtime_error("Expected object");
470+ if (j.find("ADVENTURERCOUNT") != j.end() && !j.at("ADVENTURERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
463471 x.set_adventurercount(j.at("ADVENTURERCOUNT").get<int64_t>());
472+ if (j.find("AGENTCOUNT") != j.end() && !j.at("AGENTCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
464473 x.set_agentcount(j.at("AGENTCOUNT").get<int64_t>());
474+ if (j.find("ATROXCOUNT") != j.end() && !j.at("ATROXCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
465475 x.set_atroxcount(j.at("ATROXCOUNT").get<int64_t>());
466476 x.set_avglvl(j.at("AVGLVL").get<double>());
477+ if (j.find("BTCOUNT") != j.end() && !j.at("BTCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
467478 x.set_btcount(j.at("BTCOUNT").get<int64_t>());
468479 x.set_description(j.at("DESCRIPTION").get<std::string>());
480+ if (j.find("DOCTORCOUNT") != j.end() && !j.at("DOCTORCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
469481 x.set_doctorcount(j.at("DOCTORCOUNT").get<int64_t>());
482+ if (j.find("ENFCOUNT") != j.end() && !j.at("ENFCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
470483 x.set_enfcount(j.at("ENFCOUNT").get<int64_t>());
484+ if (j.find("ENGINEEERCOUNT") != j.end() && !j.at("ENGINEEERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
471485 x.set_engineeercount(j.at("ENGINEEERCOUNT").get<int64_t>());
486+ if (j.find("FEMALECOUNT") != j.end() && !j.at("FEMALECOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
472487 x.set_femalecount(j.at("FEMALECOUNT").get<int64_t>());
488+ if (j.find("FIXERCOUNT") != j.end() && !j.at("FIXERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
473489 x.set_fixercount(j.at("FIXERCOUNT").get<int64_t>());
474490 x.set_governingname(j.at("GOVERNINGNAME").get<std::string>());
475491 x.set_history(j.at("HISTORY").get<std::string>());
492+ if (j.find("KEEPERCOUNT") != j.end() && !j.at("KEEPERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
476493 x.set_keepercount(j.at("KEEPERCOUNT").get<int64_t>());
494+ if (j.find("MACOUNT") != j.end() && !j.at("MACOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
477495 x.set_macount(j.at("MACOUNT").get<int64_t>());
496+ if (j.find("MALECOUNT") != j.end() && !j.at("MALECOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
478497 x.set_malecount(j.at("MALECOUNT").get<int64_t>());
498+ if (j.find("MAXLVL") != j.end() && !j.at("MAXLVL").is_number_integer()) throw std::runtime_error("Expected integer");
479499 x.set_maxlvl(j.at("MAXLVL").get<int64_t>());
500+ if (j.find("METACOUNT") != j.end() && !j.at("METACOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
480501 x.set_metacount(j.at("METACOUNT").get<int64_t>());
502+ if (j.find("MINLVL") != j.end() && !j.at("MINLVL").is_number_integer()) throw std::runtime_error("Expected integer");
481503 x.set_minlvl(j.at("MINLVL").get<int64_t>());
504+ if (j.find("MONSTERCOUNT") != j.end() && !j.at("MONSTERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
482505 x.set_monstercount(j.at("MONSTERCOUNT").get<int64_t>());
483506 x.set_name(j.at("NAME").get<std::string>());
507+ if (j.find("NANOCOUNT") != j.end() && !j.at("NANOCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
484508 x.set_nanocount(j.at("NANOCOUNT").get<int64_t>());
509+ if (j.find("NANORACECOUNT") != j.end() && !j.at("NANORACECOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
485510 x.set_nanoracecount(j.at("NANORACECOUNT").get<int64_t>());
511+ if (j.find("NEUTERCOUNT") != j.end() && !j.at("NEUTERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
486512 x.set_neutercount(j.at("NEUTERCOUNT").get<int64_t>());
513+ if (j.find("NUMMEMBERS") != j.end() && !j.at("NUMMEMBERS").is_number_integer()) throw std::runtime_error("Expected integer");
487514 x.set_nummembers(j.at("NUMMEMBERS").get<int64_t>());
488515 x.set_objective(j.at("OBJECTIVE").get<std::string>());
516+ if (j.find("OPIFEXCOUNT") != j.end() && !j.at("OPIFEXCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
489517 x.set_opifexcount(j.at("OPIFEXCOUNT").get<int64_t>());
518+ if (j.find("ORG_DIMENSION") != j.end() && !j.at("ORG_DIMENSION").is_number_integer()) throw std::runtime_error("Expected integer");
490519 x.set_org_dimension(j.at("ORG_DIMENSION").get<int64_t>());
520+ if (j.find("ORG_INSTANCE") != j.end() && !j.at("ORG_INSTANCE").is_number_integer()) throw std::runtime_error("Expected integer");
491521 x.set_org_instance(j.at("ORG_INSTANCE").get<int64_t>());
522+ if (j.find("SHADECOUNT") != j.end() && !j.at("SHADECOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
492523 x.set_shadecount(j.at("SHADECOUNT").get<int64_t>());
524+ if (j.find("SIDE") != j.end() && !j.at("SIDE").is_number_integer()) throw std::runtime_error("Expected integer");
493525 x.set_side(j.at("SIDE").get<int64_t>());
494526 x.set_side_name(j.at("SIDE_NAME").get<std::string>());
527+ if (j.find("SOLIDERCOUNT") != j.end() && !j.at("SOLIDERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
495528 x.set_solidercount(j.at("SOLIDERCOUNT").get<int64_t>());
529+ if (j.find("SOLITUSCOUNT") != j.end() && !j.at("SOLITUSCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
496530 x.set_solituscount(j.at("SOLITUSCOUNT").get<int64_t>());
531+ if (j.find("TRADERCOUNT") != j.end() && !j.at("TRADERCOUNT").is_number_integer()) throw std::runtime_error("Expected integer");
497532 x.set_tradercount(j.at("TRADERCOUNT").get<int64_t>());
498533 }
Test case

test/inputs/json/priority/coin-pairs.json

1 generated file · +5 −0
Mcplusplusdefault / quicktype.hpp+5 −0
@@ -109,10 +109,14 @@ namespace quicktype {
109109
110110 inline void from_json(const json & j, Pair& x) {
111111 if (!j.is_object()) throw std::runtime_error("Expected object");
112+ if (j.find("decimal_places") != j.end() && !j.at("decimal_places").is_number_integer()) throw std::runtime_error("Expected integer");
112113 x.set_decimal_places(j.at("decimal_places").get<int64_t>());
113114 x.set_fee(j.at("fee").get<double>());
115+ if (j.find("hidden") != j.end() && !j.at("hidden").is_number_integer()) throw std::runtime_error("Expected integer");
114116 x.set_hidden(j.at("hidden").get<int64_t>());
117+ if (j.find("max_amount") != j.end() && !j.at("max_amount").is_number_integer()) throw std::runtime_error("Expected integer");
115118 x.set_max_amount(j.at("max_amount").get<int64_t>());
119+ if (j.find("max_price") != j.end() && !j.at("max_price").is_number_integer()) throw std::runtime_error("Expected integer");
116120 x.set_max_price(j.at("max_price").get<int64_t>());
117121 x.set_min_amount(j.at("min_amount").get<double>());
118122 x.set_min_price(j.at("min_price").get<double>());
@@ -134,6 +138,7 @@ namespace quicktype {
134138 inline void from_json(const json & j, TopLevel& x) {
135139 if (!j.is_object()) throw std::runtime_error("Expected object");
136140 x.set_pairs(j.at("pairs").get<std::map<std::string, Pair>>());
141+ if (j.find("server_time") != j.end() && !j.at("server_time").is_number_integer()) throw std::runtime_error("Expected integer");
137142 x.set_server_time(j.at("server_time").get<int64_t>());
138143 }
Test case

test/inputs/json/priority/combinations1.json

3 generated files · +18 −0
Mcpluspluscode-format-with-struct--67c848c66185 / quicktype.hpp+6 −0
@@ -775,6 +775,7 @@ namespace quicktype {
775775 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
776776 x.caulis = get_untyped(j, "caulis");
777777 x.chalcus = get_untyped(j, "chalcus");
778+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
778779 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
779780 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
780781 x.enteradenological = get_untyped(j, "enteradenological");
@@ -828,6 +829,7 @@ namespace quicktype {
828829 inline void from_json(const json & j, CimeliaClass& x) {
829830 if (!j.is_object()) throw std::runtime_error("Expected object");
830831 x.catharticalness = j.at("catharticalness").get<double>();
832+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
831833 x.chirotherium = j.at("Chirotherium").get<int64_t>();
832834 x.disdiapason = j.at("disdiapason").get<std::string>();
833835 x.homocerc = j.at("homocerc").get<bool>();
@@ -848,6 +850,7 @@ namespace quicktype {
848850 x.amidosulphonal = get_untyped(j, "amidosulphonal");
849851 x.benny = get_untyped(j, "Benny");
850852 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
853+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
851854 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
852855 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
853856 x.ensnare = get_untyped(j, "ensnare");
@@ -1244,6 +1247,7 @@ namespace quicktype {
12441247 x.autobiographic = get_untyped(j, "autobiographic");
12451248 x.berat = get_untyped(j, "berat");
12461249 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1250+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
12471251 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
12481252 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
12491253 x.disproportionably = get_untyped(j, "disproportionably");
@@ -1300,6 +1304,7 @@ namespace quicktype {
13001304 x.assapan = j.at("assapan").get<double>();
13011305 x.benefactorship = j.at("benefactorship").get<bool>();
13021306 x.triseriatim = j.at("triseriatim").get<std::string>();
1307+ if (j.find("tubbing") != j.end() && !j.at("tubbing").is_number_integer()) throw std::runtime_error("Expected integer");
13031308 x.tubbing = j.at("tubbing").get<int64_t>();
13041309 x.untrimmed = get_untyped(j, "untrimmed");
13051310 }
@@ -1319,6 +1324,7 @@ namespace quicktype {
13191324 x.cerograph = j.at("cerograph").get<std::vector<CerographElement>>();
13201325 x.chemotherapeutics = j.at("chemotherapeutics").get<std::vector<ChemotherapeuticElement>>();
13211326 x.cimelia = j.at("cimelia").get<std::vector<CimeliaElement>>();
1327+ if (j.find("citrated") != j.end() && !j.at("citrated").is_number_integer()) throw std::runtime_error("Expected integer");
13221328 x.citrated = j.at("citrated").get<int64_t>();
13231329 x.clinodome = j.at("clinodome").get<std::vector<Clinodome>>();
13241330 x.coadjust = j.at("coadjust").get<std::vector<CoadjustElement>>();
Mcplusplusconst-style-east-const--0048a2a7a881 / quicktype.hpp+6 −0
@@ -2015,6 +2015,7 @@ namespace quicktype {
20152015 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
20162016 x.set_caulis(get_untyped(j, "caulis"));
20172017 x.set_chalcus(get_untyped(j, "chalcus"));
2018+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
20182019 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
20192020 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
20202021 x.set_enteradenological(get_untyped(j, "enteradenological"));
@@ -2068,6 +2069,7 @@ namespace quicktype {
20682069 inline void from_json(json const & j, CimeliaClass& x) {
20692070 if (!j.is_object()) throw std::runtime_error("Expected object");
20702071 x.set_catharticalness(j.at("catharticalness").get<double>());
2072+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
20712073 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
20722074 x.set_disdiapason(j.at("disdiapason").get<std::string>());
20732075 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -2088,6 +2090,7 @@ namespace quicktype {
20882090 x.set_amidosulphonal(get_untyped(j, "amidosulphonal"));
20892091 x.set_benny(get_untyped(j, "Benny"));
20902092 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2093+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
20912094 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
20922095 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
20932096 x.set_ensnare(get_untyped(j, "ensnare"));
@@ -2484,6 +2487,7 @@ namespace quicktype {
24842487 x.set_autobiographic(get_untyped(j, "autobiographic"));
24852488 x.set_berat(get_untyped(j, "berat"));
24862489 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2490+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
24872491 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
24882492 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
24892493 x.set_disproportionably(get_untyped(j, "disproportionably"));
@@ -2540,6 +2544,7 @@ namespace quicktype {
25402544 x.set_assapan(j.at("assapan").get<double>());
25412545 x.set_benefactorship(j.at("benefactorship").get<bool>());
25422546 x.set_triseriatim(j.at("triseriatim").get<std::string>());
2547+ if (j.find("tubbing") != j.end() && !j.at("tubbing").is_number_integer()) throw std::runtime_error("Expected integer");
25432548 x.set_tubbing(j.at("tubbing").get<int64_t>());
25442549 x.set_untrimmed(get_untyped(j, "untrimmed"));
25452550 }
@@ -2559,6 +2564,7 @@ namespace quicktype {
25592564 x.set_cerograph(j.at("cerograph").get<std::vector<CerographElement>>());
25602565 x.set_chemotherapeutics(j.at("chemotherapeutics").get<std::vector<ChemotherapeuticElement>>());
25612566 x.set_cimelia(j.at("cimelia").get<std::vector<CimeliaElement>>());
2567+ if (j.find("citrated") != j.end() && !j.at("citrated").is_number_integer()) throw std::runtime_error("Expected integer");
25622568 x.set_citrated(j.at("citrated").get<int64_t>());
25632569 x.set_clinodome(j.at("clinodome").get<std::vector<Clinodome>>());
25642570 x.set_coadjust(j.at("coadjust").get<std::vector<CoadjustElement>>());
Mcplusplusdefault / quicktype.hpp+6 −0
@@ -2015,6 +2015,7 @@ namespace quicktype {
20152015 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
20162016 x.set_caulis(get_untyped(j, "caulis"));
20172017 x.set_chalcus(get_untyped(j, "chalcus"));
2018+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
20182019 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
20192020 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
20202021 x.set_enteradenological(get_untyped(j, "enteradenological"));
@@ -2068,6 +2069,7 @@ namespace quicktype {
20682069 inline void from_json(const json & j, CimeliaClass& x) {
20692070 if (!j.is_object()) throw std::runtime_error("Expected object");
20702071 x.set_catharticalness(j.at("catharticalness").get<double>());
2072+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
20712073 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
20722074 x.set_disdiapason(j.at("disdiapason").get<std::string>());
20732075 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -2088,6 +2090,7 @@ namespace quicktype {
20882090 x.set_amidosulphonal(get_untyped(j, "amidosulphonal"));
20892091 x.set_benny(get_untyped(j, "Benny"));
20902092 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2093+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
20912094 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
20922095 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
20932096 x.set_ensnare(get_untyped(j, "ensnare"));
@@ -2484,6 +2487,7 @@ namespace quicktype {
24842487 x.set_autobiographic(get_untyped(j, "autobiographic"));
24852488 x.set_berat(get_untyped(j, "berat"));
24862489 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2490+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
24872491 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
24882492 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
24892493 x.set_disproportionably(get_untyped(j, "disproportionably"));
@@ -2540,6 +2544,7 @@ namespace quicktype {
25402544 x.set_assapan(j.at("assapan").get<double>());
25412545 x.set_benefactorship(j.at("benefactorship").get<bool>());
25422546 x.set_triseriatim(j.at("triseriatim").get<std::string>());
2547+ if (j.find("tubbing") != j.end() && !j.at("tubbing").is_number_integer()) throw std::runtime_error("Expected integer");
25432548 x.set_tubbing(j.at("tubbing").get<int64_t>());
25442549 x.set_untrimmed(get_untyped(j, "untrimmed"));
25452550 }
@@ -2559,6 +2564,7 @@ namespace quicktype {
25592564 x.set_cerograph(j.at("cerograph").get<std::vector<CerographElement>>());
25602565 x.set_chemotherapeutics(j.at("chemotherapeutics").get<std::vector<ChemotherapeuticElement>>());
25612566 x.set_cimelia(j.at("cimelia").get<std::vector<CimeliaElement>>());
2567+ if (j.find("citrated") != j.end() && !j.at("citrated").is_number_integer()) throw std::runtime_error("Expected integer");
25622568 x.set_citrated(j.at("citrated").get<int64_t>());
25632569 x.set_clinodome(j.at("clinodome").get<std::vector<Clinodome>>());
25642570 x.set_coadjust(j.at("coadjust").get<std::vector<CoadjustElement>>());
Test case

test/inputs/json/priority/combinations2.json

3 generated files · +192 −0
Mcpluspluscode-format-with-struct--67c848c66185 / quicktype.hpp+64 −0
@@ -719,6 +719,7 @@ namespace quicktype {
719719 inline void from_json(const json & j, Rebecca& x) {
720720 if (!j.is_object()) throw std::runtime_error("Expected object");
721721 x.catharticalness = j.at("catharticalness").get<double>();
722+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
722723 x.chirotherium = j.at("Chirotherium").get<int64_t>();
723724 x.disdiapason = j.at("disdiapason").get<std::string>();
724725 x.homocerc = j.at("homocerc").get<bool>();
@@ -736,30 +737,51 @@ namespace quicktype {
736737
737738 inline void from_json(const json & j, Amphithyron& x) {
738739 if (!j.is_object()) throw std::runtime_error("Expected object");
740+ if (j.find("akroasis") != j.end() && !j.at("akroasis").is_number_integer()) throw std::runtime_error("Expected integer");
739741 x.akroasis = get_stack_optional<int64_t>(j, "akroasis");
742+ if (j.find("antiphonical") != j.end() && !j.at("antiphonical").is_number_integer()) throw std::runtime_error("Expected integer");
740743 x.antiphonical = get_stack_optional<int64_t>(j, "antiphonical");
744+ if (j.find("basebred") != j.end() && !j.at("basebred").is_number_integer()) throw std::runtime_error("Expected integer");
741745 x.basebred = get_stack_optional<int64_t>(j, "basebred");
742746 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
747+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
743748 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
749+ if (j.find("conductometric") != j.end() && !j.at("conductometric").is_number_integer()) throw std::runtime_error("Expected integer");
744750 x.conductometric = get_stack_optional<int64_t>(j, "conductometric");
745751 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
752+ if (j.find("ensilation") != j.end() && !j.at("ensilation").is_number_integer()) throw std::runtime_error("Expected integer");
746753 x.ensilation = get_stack_optional<int64_t>(j, "ensilation");
754+ if (j.find("eyebolt") != j.end() && !j.at("eyebolt").is_number_integer()) throw std::runtime_error("Expected integer");
747755 x.eyebolt = get_stack_optional<int64_t>(j, "eyebolt");
756+ if (j.find("fistulated") != j.end() && !j.at("fistulated").is_number_integer()) throw std::runtime_error("Expected integer");
748757 x.fistulated = get_stack_optional<int64_t>(j, "fistulated");
758+ if (j.find("heteropod") != j.end() && !j.at("heteropod").is_number_integer()) throw std::runtime_error("Expected integer");
749759 x.heteropod = get_stack_optional<int64_t>(j, "heteropod");
750760 x.homocerc = get_stack_optional<bool>(j, "homocerc");
761+ if (j.find("Juniperus") != j.end() && !j.at("Juniperus").is_number_integer()) throw std::runtime_error("Expected integer");
751762 x.juniperus = get_stack_optional<int64_t>(j, "Juniperus");
763+ if (j.find("labyrinthically") != j.end() && !j.at("labyrinthically").is_number_integer()) throw std::runtime_error("Expected integer");
752764 x.labyrinthically = get_stack_optional<int64_t>(j, "labyrinthically");
765+ if (j.find("martyrization") != j.end() && !j.at("martyrization").is_number_integer()) throw std::runtime_error("Expected integer");
753766 x.martyrization = get_stack_optional<int64_t>(j, "martyrization");
767+ if (j.find("mispolicy") != j.end() && !j.at("mispolicy").is_number_integer()) throw std::runtime_error("Expected integer");
754768 x.mispolicy = get_stack_optional<int64_t>(j, "mispolicy");
769+ if (j.find("multipara") != j.end() && !j.at("multipara").is_number_integer()) throw std::runtime_error("Expected integer");
755770 x.multipara = get_stack_optional<int64_t>(j, "multipara");
771+ if (j.find("Nazirite") != j.end() && !j.at("Nazirite").is_number_integer()) throw std::runtime_error("Expected integer");
756772 x.nazirite = get_stack_optional<int64_t>(j, "Nazirite");
757773 x.nonbookish = get_untyped(j, "nonbookish");
774+ if (j.find("possessorial") != j.end() && !j.at("possessorial").is_number_integer()) throw std::runtime_error("Expected integer");
758775 x.possessorial = get_stack_optional<int64_t>(j, "possessorial");
776+ if (j.find("shamed") != j.end() && !j.at("shamed").is_number_integer()) throw std::runtime_error("Expected integer");
759777 x.shamed = get_stack_optional<int64_t>(j, "shamed");
778+ if (j.find("shelfworn") != j.end() && !j.at("shelfworn").is_number_integer()) throw std::runtime_error("Expected integer");
760779 x.shelfworn = get_stack_optional<int64_t>(j, "shelfworn");
780+ if (j.find("stagnum") != j.end() && !j.at("stagnum").is_number_integer()) throw std::runtime_error("Expected integer");
761781 x.stagnum = get_stack_optional<int64_t>(j, "stagnum");
782+ if (j.find("Those") != j.end() && !j.at("Those").is_number_integer()) throw std::runtime_error("Expected integer");
762783 x.those = get_stack_optional<int64_t>(j, "Those");
784+ if (j.find("undecimal") != j.end() && !j.at("undecimal").is_number_integer()) throw std::runtime_error("Expected integer");
763785 x.undecimal = get_stack_optional<int64_t>(j, "undecimal");
764786 }
765787
@@ -938,30 +960,51 @@ namespace quicktype {
938960
939961 inline void from_json(const json & j, DiscordiaClass& x) {
940962 if (!j.is_object()) throw std::runtime_error("Expected object");
963+ if (j.find("Altaic") != j.end() && !j.at("Altaic").is_number_integer()) throw std::runtime_error("Expected integer");
941964 x.altaic = get_stack_optional<int64_t>(j, "Altaic");
965+ if (j.find("amoristic") != j.end() && !j.at("amoristic").is_number_integer()) throw std::runtime_error("Expected integer");
942966 x.amoristic = get_stack_optional<int64_t>(j, "amoristic");
967+ if (j.find("blennophthalmia") != j.end() && !j.at("blennophthalmia").is_number_integer()) throw std::runtime_error("Expected integer");
943968 x.blennophthalmia = get_stack_optional<int64_t>(j, "blennophthalmia");
944969 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
970+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
945971 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
972+ if (j.find("disciplinability") != j.end() && !j.at("disciplinability").is_number_integer()) throw std::runtime_error("Expected integer");
946973 x.disciplinability = get_stack_optional<int64_t>(j, "disciplinability");
947974 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
975+ if (j.find("goofer") != j.end() && !j.at("goofer").is_number_integer()) throw std::runtime_error("Expected integer");
948976 x.goofer = get_stack_optional<int64_t>(j, "goofer");
949977 x.homocerc = get_stack_optional<bool>(j, "homocerc");
978+ if (j.find("laryngograph") != j.end() && !j.at("laryngograph").is_number_integer()) throw std::runtime_error("Expected integer");
950979 x.laryngograph = get_stack_optional<int64_t>(j, "laryngograph");
980+ if (j.find("leucitis") != j.end() && !j.at("leucitis").is_number_integer()) throw std::runtime_error("Expected integer");
951981 x.leucitis = get_stack_optional<int64_t>(j, "leucitis");
982+ if (j.find("lymphocyst") != j.end() && !j.at("lymphocyst").is_number_integer()) throw std::runtime_error("Expected integer");
952983 x.lymphocyst = get_stack_optional<int64_t>(j, "lymphocyst");
984+ if (j.find("microcosmology") != j.end() && !j.at("microcosmology").is_number_integer()) throw std::runtime_error("Expected integer");
953985 x.microcosmology = get_stack_optional<int64_t>(j, "microcosmology");
986+ if (j.find("nauseation") != j.end() && !j.at("nauseation").is_number_integer()) throw std::runtime_error("Expected integer");
954987 x.nauseation = get_stack_optional<int64_t>(j, "nauseation");
955988 x.nonbookish = get_untyped(j, "nonbookish");
989+ if (j.find("Patarin") != j.end() && !j.at("Patarin").is_number_integer()) throw std::runtime_error("Expected integer");
956990 x.patarin = get_stack_optional<int64_t>(j, "Patarin");
991+ if (j.find("preliberal") != j.end() && !j.at("preliberal").is_number_integer()) throw std::runtime_error("Expected integer");
957992 x.preliberal = get_stack_optional<int64_t>(j, "preliberal");
993+ if (j.find("prettifier") != j.end() && !j.at("prettifier").is_number_integer()) throw std::runtime_error("Expected integer");
958994 x.prettifier = get_stack_optional<int64_t>(j, "prettifier");
995+ if (j.find("rangework") != j.end() && !j.at("rangework").is_number_integer()) throw std::runtime_error("Expected integer");
959996 x.rangework = get_stack_optional<int64_t>(j, "rangework");
997+ if (j.find("redient") != j.end() && !j.at("redient").is_number_integer()) throw std::runtime_error("Expected integer");
960998 x.redient = get_stack_optional<int64_t>(j, "redient");
999+ if (j.find("subfusiform") != j.end() && !j.at("subfusiform").is_number_integer()) throw std::runtime_error("Expected integer");
9611000 x.subfusiform = get_stack_optional<int64_t>(j, "subfusiform");
1001+ if (j.find("suicidical") != j.end() && !j.at("suicidical").is_number_integer()) throw std::runtime_error("Expected integer");
9621002 x.suicidical = get_stack_optional<int64_t>(j, "suicidical");
1003+ if (j.find("swow") != j.end() && !j.at("swow").is_number_integer()) throw std::runtime_error("Expected integer");
9631004 x.swow = get_stack_optional<int64_t>(j, "swow");
1005+ if (j.find("wastrel") != j.end() && !j.at("wastrel").is_number_integer()) throw std::runtime_error("Expected integer");
9641006 x.wastrel = get_stack_optional<int64_t>(j, "wastrel");
1007+ if (j.find("wingle") != j.end() && !j.at("wingle").is_number_integer()) throw std::runtime_error("Expected integer");
9651008 x.wingle = get_stack_optional<int64_t>(j, "wingle");
9661009 }
9671010
@@ -1044,30 +1087,51 @@ namespace quicktype {
10441087
10451088 inline void from_json(const json & j, LaviniaClass& x) {
10461089 if (!j.is_object()) throw std::runtime_error("Expected object");
1090+ if (j.find("agitable") != j.end() && !j.at("agitable").is_number_integer()) throw std::runtime_error("Expected integer");
10471091 x.agitable = get_stack_optional<int64_t>(j, "agitable");
1092+ if (j.find("asininity") != j.end() && !j.at("asininity").is_number_integer()) throw std::runtime_error("Expected integer");
10481093 x.asininity = get_stack_optional<int64_t>(j, "asininity");
1094+ if (j.find("benefiter") != j.end() && !j.at("benefiter").is_number_integer()) throw std::runtime_error("Expected integer");
10491095 x.benefiter = get_stack_optional<int64_t>(j, "benefiter");
1096+ if (j.find("bronzelike") != j.end() && !j.at("bronzelike").is_number_integer()) throw std::runtime_error("Expected integer");
10501097 x.bronzelike = get_stack_optional<int64_t>(j, "bronzelike");
10511098 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1099+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
10521100 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
1101+ if (j.find("cholesteatomatous") != j.end() && !j.at("cholesteatomatous").is_number_integer()) throw std::runtime_error("Expected integer");
10531102 x.cholesteatomatous = get_stack_optional<int64_t>(j, "cholesteatomatous");
1103+ if (j.find("deprivement") != j.end() && !j.at("deprivement").is_number_integer()) throw std::runtime_error("Expected integer");
10541104 x.deprivement = get_stack_optional<int64_t>(j, "deprivement");
10551105 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
1106+ if (j.find("flippantness") != j.end() && !j.at("flippantness").is_number_integer()) throw std::runtime_error("Expected integer");
10561107 x.flippantness = get_stack_optional<int64_t>(j, "flippantness");
1108+ if (j.find("fogproof") != j.end() && !j.at("fogproof").is_number_integer()) throw std::runtime_error("Expected integer");
10571109 x.fogproof = get_stack_optional<int64_t>(j, "fogproof");
10581110 x.homocerc = get_stack_optional<bool>(j, "homocerc");
1111+ if (j.find("merrymeeting") != j.end() && !j.at("merrymeeting").is_number_integer()) throw std::runtime_error("Expected integer");
10591112 x.merrymeeting = get_stack_optional<int64_t>(j, "merrymeeting");
10601113 x.nonbookish = get_untyped(j, "nonbookish");
1114+ if (j.find("overcareful") != j.end() && !j.at("overcareful").is_number_integer()) throw std::runtime_error("Expected integer");
10611115 x.overcareful = get_stack_optional<int64_t>(j, "overcareful");
1116+ if (j.find("panaris") != j.end() && !j.at("panaris").is_number_integer()) throw std::runtime_error("Expected integer");
10621117 x.panaris = get_stack_optional<int64_t>(j, "panaris");
1118+ if (j.find("preacceptance") != j.end() && !j.at("preacceptance").is_number_integer()) throw std::runtime_error("Expected integer");
10631119 x.preacceptance = get_stack_optional<int64_t>(j, "preacceptance");
1120+ if (j.find("quinoxaline") != j.end() && !j.at("quinoxaline").is_number_integer()) throw std::runtime_error("Expected integer");
10641121 x.quinoxaline = get_stack_optional<int64_t>(j, "quinoxaline");
1122+ if (j.find("sig") != j.end() && !j.at("sig").is_number_integer()) throw std::runtime_error("Expected integer");
10651123 x.sig = get_stack_optional<int64_t>(j, "sig");
1124+ if (j.find("superconfusion") != j.end() && !j.at("superconfusion").is_number_integer()) throw std::runtime_error("Expected integer");
10661125 x.superconfusion = get_stack_optional<int64_t>(j, "superconfusion");
1126+ if (j.find("Tacana") != j.end() && !j.at("Tacana").is_number_integer()) throw std::runtime_error("Expected integer");
10671127 x.tacana = get_stack_optional<int64_t>(j, "Tacana");
1128+ if (j.find("tillotter") != j.end() && !j.at("tillotter").is_number_integer()) throw std::runtime_error("Expected integer");
10681129 x.tillotter = get_stack_optional<int64_t>(j, "tillotter");
1130+ if (j.find("tranquillize") != j.end() && !j.at("tranquillize").is_number_integer()) throw std::runtime_error("Expected integer");
10691131 x.tranquillize = get_stack_optional<int64_t>(j, "tranquillize");
1132+ if (j.find("unquestionable") != j.end() && !j.at("unquestionable").is_number_integer()) throw std::runtime_error("Expected integer");
10701133 x.unquestionable = get_stack_optional<int64_t>(j, "unquestionable");
1134+ if (j.find("uproute") != j.end() && !j.at("uproute").is_number_integer()) throw std::runtime_error("Expected integer");
10711135 x.uproute = get_stack_optional<int64_t>(j, "uproute");
10721136 }
Mcplusplusconst-style-east-const--0048a2a7a881 / quicktype.hpp+64 −0
@@ -1769,6 +1769,7 @@ namespace quicktype {
17691769 inline void from_json(json const & j, Rebecca& x) {
17701770 if (!j.is_object()) throw std::runtime_error("Expected object");
17711771 x.set_catharticalness(j.at("catharticalness").get<double>());
1772+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
17721773 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
17731774 x.set_disdiapason(j.at("disdiapason").get<std::string>());
17741775 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -1786,30 +1787,51 @@ namespace quicktype {
17861787
17871788 inline void from_json(json const & j, Amphithyron& x) {
17881789 if (!j.is_object()) throw std::runtime_error("Expected object");
1790+ if (j.find("akroasis") != j.end() && !j.at("akroasis").is_number_integer()) throw std::runtime_error("Expected integer");
17891791 x.set_akroasis(get_stack_optional<int64_t>(j, "akroasis"));
1792+ if (j.find("antiphonical") != j.end() && !j.at("antiphonical").is_number_integer()) throw std::runtime_error("Expected integer");
17901793 x.set_antiphonical(get_stack_optional<int64_t>(j, "antiphonical"));
1794+ if (j.find("basebred") != j.end() && !j.at("basebred").is_number_integer()) throw std::runtime_error("Expected integer");
17911795 x.set_basebred(get_stack_optional<int64_t>(j, "basebred"));
17921796 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
1797+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
17931798 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
1799+ if (j.find("conductometric") != j.end() && !j.at("conductometric").is_number_integer()) throw std::runtime_error("Expected integer");
17941800 x.set_conductometric(get_stack_optional<int64_t>(j, "conductometric"));
17951801 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
1802+ if (j.find("ensilation") != j.end() && !j.at("ensilation").is_number_integer()) throw std::runtime_error("Expected integer");
17961803 x.set_ensilation(get_stack_optional<int64_t>(j, "ensilation"));
1804+ if (j.find("eyebolt") != j.end() && !j.at("eyebolt").is_number_integer()) throw std::runtime_error("Expected integer");
17971805 x.set_eyebolt(get_stack_optional<int64_t>(j, "eyebolt"));
1806+ if (j.find("fistulated") != j.end() && !j.at("fistulated").is_number_integer()) throw std::runtime_error("Expected integer");
17981807 x.set_fistulated(get_stack_optional<int64_t>(j, "fistulated"));
1808+ if (j.find("heteropod") != j.end() && !j.at("heteropod").is_number_integer()) throw std::runtime_error("Expected integer");
17991809 x.set_heteropod(get_stack_optional<int64_t>(j, "heteropod"));
18001810 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
1811+ if (j.find("Juniperus") != j.end() && !j.at("Juniperus").is_number_integer()) throw std::runtime_error("Expected integer");
18011812 x.set_juniperus(get_stack_optional<int64_t>(j, "Juniperus"));
1813+ if (j.find("labyrinthically") != j.end() && !j.at("labyrinthically").is_number_integer()) throw std::runtime_error("Expected integer");
18021814 x.set_labyrinthically(get_stack_optional<int64_t>(j, "labyrinthically"));
1815+ if (j.find("martyrization") != j.end() && !j.at("martyrization").is_number_integer()) throw std::runtime_error("Expected integer");
18031816 x.set_martyrization(get_stack_optional<int64_t>(j, "martyrization"));
1817+ if (j.find("mispolicy") != j.end() && !j.at("mispolicy").is_number_integer()) throw std::runtime_error("Expected integer");
18041818 x.set_mispolicy(get_stack_optional<int64_t>(j, "mispolicy"));
1819+ if (j.find("multipara") != j.end() && !j.at("multipara").is_number_integer()) throw std::runtime_error("Expected integer");
18051820 x.set_multipara(get_stack_optional<int64_t>(j, "multipara"));
1821+ if (j.find("Nazirite") != j.end() && !j.at("Nazirite").is_number_integer()) throw std::runtime_error("Expected integer");
18061822 x.set_nazirite(get_stack_optional<int64_t>(j, "Nazirite"));
18071823 x.set_nonbookish(get_untyped(j, "nonbookish"));
1824+ if (j.find("possessorial") != j.end() && !j.at("possessorial").is_number_integer()) throw std::runtime_error("Expected integer");
18081825 x.set_possessorial(get_stack_optional<int64_t>(j, "possessorial"));
1826+ if (j.find("shamed") != j.end() && !j.at("shamed").is_number_integer()) throw std::runtime_error("Expected integer");
18091827 x.set_shamed(get_stack_optional<int64_t>(j, "shamed"));
1828+ if (j.find("shelfworn") != j.end() && !j.at("shelfworn").is_number_integer()) throw std::runtime_error("Expected integer");
18101829 x.set_shelfworn(get_stack_optional<int64_t>(j, "shelfworn"));
1830+ if (j.find("stagnum") != j.end() && !j.at("stagnum").is_number_integer()) throw std::runtime_error("Expected integer");
18111831 x.set_stagnum(get_stack_optional<int64_t>(j, "stagnum"));
1832+ if (j.find("Those") != j.end() && !j.at("Those").is_number_integer()) throw std::runtime_error("Expected integer");
18121833 x.set_those(get_stack_optional<int64_t>(j, "Those"));
1834+ if (j.find("undecimal") != j.end() && !j.at("undecimal").is_number_integer()) throw std::runtime_error("Expected integer");
18131835 x.set_undecimal(get_stack_optional<int64_t>(j, "undecimal"));
18141836 }
18151837
@@ -1988,30 +2010,51 @@ namespace quicktype {
19882010
19892011 inline void from_json(json const & j, DiscordiaClass& x) {
19902012 if (!j.is_object()) throw std::runtime_error("Expected object");
2013+ if (j.find("Altaic") != j.end() && !j.at("Altaic").is_number_integer()) throw std::runtime_error("Expected integer");
19912014 x.set_altaic(get_stack_optional<int64_t>(j, "Altaic"));
2015+ if (j.find("amoristic") != j.end() && !j.at("amoristic").is_number_integer()) throw std::runtime_error("Expected integer");
19922016 x.set_amoristic(get_stack_optional<int64_t>(j, "amoristic"));
2017+ if (j.find("blennophthalmia") != j.end() && !j.at("blennophthalmia").is_number_integer()) throw std::runtime_error("Expected integer");
19932018 x.set_blennophthalmia(get_stack_optional<int64_t>(j, "blennophthalmia"));
19942019 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2020+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
19952021 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2022+ if (j.find("disciplinability") != j.end() && !j.at("disciplinability").is_number_integer()) throw std::runtime_error("Expected integer");
19962023 x.set_disciplinability(get_stack_optional<int64_t>(j, "disciplinability"));
19972024 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2025+ if (j.find("goofer") != j.end() && !j.at("goofer").is_number_integer()) throw std::runtime_error("Expected integer");
19982026 x.set_goofer(get_stack_optional<int64_t>(j, "goofer"));
19992027 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2028+ if (j.find("laryngograph") != j.end() && !j.at("laryngograph").is_number_integer()) throw std::runtime_error("Expected integer");
20002029 x.set_laryngograph(get_stack_optional<int64_t>(j, "laryngograph"));
2030+ if (j.find("leucitis") != j.end() && !j.at("leucitis").is_number_integer()) throw std::runtime_error("Expected integer");
20012031 x.set_leucitis(get_stack_optional<int64_t>(j, "leucitis"));
2032+ if (j.find("lymphocyst") != j.end() && !j.at("lymphocyst").is_number_integer()) throw std::runtime_error("Expected integer");
20022033 x.set_lymphocyst(get_stack_optional<int64_t>(j, "lymphocyst"));
2034+ if (j.find("microcosmology") != j.end() && !j.at("microcosmology").is_number_integer()) throw std::runtime_error("Expected integer");
20032035 x.set_microcosmology(get_stack_optional<int64_t>(j, "microcosmology"));
2036+ if (j.find("nauseation") != j.end() && !j.at("nauseation").is_number_integer()) throw std::runtime_error("Expected integer");
20042037 x.set_nauseation(get_stack_optional<int64_t>(j, "nauseation"));
20052038 x.set_nonbookish(get_untyped(j, "nonbookish"));
2039+ if (j.find("Patarin") != j.end() && !j.at("Patarin").is_number_integer()) throw std::runtime_error("Expected integer");
20062040 x.set_patarin(get_stack_optional<int64_t>(j, "Patarin"));
2041+ if (j.find("preliberal") != j.end() && !j.at("preliberal").is_number_integer()) throw std::runtime_error("Expected integer");
20072042 x.set_preliberal(get_stack_optional<int64_t>(j, "preliberal"));
2043+ if (j.find("prettifier") != j.end() && !j.at("prettifier").is_number_integer()) throw std::runtime_error("Expected integer");
20082044 x.set_prettifier(get_stack_optional<int64_t>(j, "prettifier"));
2045+ if (j.find("rangework") != j.end() && !j.at("rangework").is_number_integer()) throw std::runtime_error("Expected integer");
20092046 x.set_rangework(get_stack_optional<int64_t>(j, "rangework"));
2047+ if (j.find("redient") != j.end() && !j.at("redient").is_number_integer()) throw std::runtime_error("Expected integer");
20102048 x.set_redient(get_stack_optional<int64_t>(j, "redient"));
2049+ if (j.find("subfusiform") != j.end() && !j.at("subfusiform").is_number_integer()) throw std::runtime_error("Expected integer");
20112050 x.set_subfusiform(get_stack_optional<int64_t>(j, "subfusiform"));
2051+ if (j.find("suicidical") != j.end() && !j.at("suicidical").is_number_integer()) throw std::runtime_error("Expected integer");
20122052 x.set_suicidical(get_stack_optional<int64_t>(j, "suicidical"));
2053+ if (j.find("swow") != j.end() && !j.at("swow").is_number_integer()) throw std::runtime_error("Expected integer");
20132054 x.set_swow(get_stack_optional<int64_t>(j, "swow"));
2055+ if (j.find("wastrel") != j.end() && !j.at("wastrel").is_number_integer()) throw std::runtime_error("Expected integer");
20142056 x.set_wastrel(get_stack_optional<int64_t>(j, "wastrel"));
2057+ if (j.find("wingle") != j.end() && !j.at("wingle").is_number_integer()) throw std::runtime_error("Expected integer");
20152058 x.set_wingle(get_stack_optional<int64_t>(j, "wingle"));
20162059 }
20172060
@@ -2094,30 +2137,51 @@ namespace quicktype {
20942137
20952138 inline void from_json(json const & j, LaviniaClass& x) {
20962139 if (!j.is_object()) throw std::runtime_error("Expected object");
2140+ if (j.find("agitable") != j.end() && !j.at("agitable").is_number_integer()) throw std::runtime_error("Expected integer");
20972141 x.set_agitable(get_stack_optional<int64_t>(j, "agitable"));
2142+ if (j.find("asininity") != j.end() && !j.at("asininity").is_number_integer()) throw std::runtime_error("Expected integer");
20982143 x.set_asininity(get_stack_optional<int64_t>(j, "asininity"));
2144+ if (j.find("benefiter") != j.end() && !j.at("benefiter").is_number_integer()) throw std::runtime_error("Expected integer");
20992145 x.set_benefiter(get_stack_optional<int64_t>(j, "benefiter"));
2146+ if (j.find("bronzelike") != j.end() && !j.at("bronzelike").is_number_integer()) throw std::runtime_error("Expected integer");
21002147 x.set_bronzelike(get_stack_optional<int64_t>(j, "bronzelike"));
21012148 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2149+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
21022150 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2151+ if (j.find("cholesteatomatous") != j.end() && !j.at("cholesteatomatous").is_number_integer()) throw std::runtime_error("Expected integer");
21032152 x.set_cholesteatomatous(get_stack_optional<int64_t>(j, "cholesteatomatous"));
2153+ if (j.find("deprivement") != j.end() && !j.at("deprivement").is_number_integer()) throw std::runtime_error("Expected integer");
21042154 x.set_deprivement(get_stack_optional<int64_t>(j, "deprivement"));
21052155 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2156+ if (j.find("flippantness") != j.end() && !j.at("flippantness").is_number_integer()) throw std::runtime_error("Expected integer");
21062157 x.set_flippantness(get_stack_optional<int64_t>(j, "flippantness"));
2158+ if (j.find("fogproof") != j.end() && !j.at("fogproof").is_number_integer()) throw std::runtime_error("Expected integer");
21072159 x.set_fogproof(get_stack_optional<int64_t>(j, "fogproof"));
21082160 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2161+ if (j.find("merrymeeting") != j.end() && !j.at("merrymeeting").is_number_integer()) throw std::runtime_error("Expected integer");
21092162 x.set_merrymeeting(get_stack_optional<int64_t>(j, "merrymeeting"));
21102163 x.set_nonbookish(get_untyped(j, "nonbookish"));
2164+ if (j.find("overcareful") != j.end() && !j.at("overcareful").is_number_integer()) throw std::runtime_error("Expected integer");
21112165 x.set_overcareful(get_stack_optional<int64_t>(j, "overcareful"));
2166+ if (j.find("panaris") != j.end() && !j.at("panaris").is_number_integer()) throw std::runtime_error("Expected integer");
21122167 x.set_panaris(get_stack_optional<int64_t>(j, "panaris"));
2168+ if (j.find("preacceptance") != j.end() && !j.at("preacceptance").is_number_integer()) throw std::runtime_error("Expected integer");
21132169 x.set_preacceptance(get_stack_optional<int64_t>(j, "preacceptance"));
2170+ if (j.find("quinoxaline") != j.end() && !j.at("quinoxaline").is_number_integer()) throw std::runtime_error("Expected integer");
21142171 x.set_quinoxaline(get_stack_optional<int64_t>(j, "quinoxaline"));
2172+ if (j.find("sig") != j.end() && !j.at("sig").is_number_integer()) throw std::runtime_error("Expected integer");
21152173 x.set_sig(get_stack_optional<int64_t>(j, "sig"));
2174+ if (j.find("superconfusion") != j.end() && !j.at("superconfusion").is_number_integer()) throw std::runtime_error("Expected integer");
21162175 x.set_superconfusion(get_stack_optional<int64_t>(j, "superconfusion"));
2176+ if (j.find("Tacana") != j.end() && !j.at("Tacana").is_number_integer()) throw std::runtime_error("Expected integer");
21172177 x.set_tacana(get_stack_optional<int64_t>(j, "Tacana"));
2178+ if (j.find("tillotter") != j.end() && !j.at("tillotter").is_number_integer()) throw std::runtime_error("Expected integer");
21182179 x.set_tillotter(get_stack_optional<int64_t>(j, "tillotter"));
2180+ if (j.find("tranquillize") != j.end() && !j.at("tranquillize").is_number_integer()) throw std::runtime_error("Expected integer");
21192181 x.set_tranquillize(get_stack_optional<int64_t>(j, "tranquillize"));
2182+ if (j.find("unquestionable") != j.end() && !j.at("unquestionable").is_number_integer()) throw std::runtime_error("Expected integer");
21202183 x.set_unquestionable(get_stack_optional<int64_t>(j, "unquestionable"));
2184+ if (j.find("uproute") != j.end() && !j.at("uproute").is_number_integer()) throw std::runtime_error("Expected integer");
21212185 x.set_uproute(get_stack_optional<int64_t>(j, "uproute"));
21222186 }
Mcplusplusdefault / quicktype.hpp+64 −0
@@ -1769,6 +1769,7 @@ namespace quicktype {
17691769 inline void from_json(const json & j, Rebecca& x) {
17701770 if (!j.is_object()) throw std::runtime_error("Expected object");
17711771 x.set_catharticalness(j.at("catharticalness").get<double>());
1772+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
17721773 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
17731774 x.set_disdiapason(j.at("disdiapason").get<std::string>());
17741775 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -1786,30 +1787,51 @@ namespace quicktype {
17861787
17871788 inline void from_json(const json & j, Amphithyron& x) {
17881789 if (!j.is_object()) throw std::runtime_error("Expected object");
1790+ if (j.find("akroasis") != j.end() && !j.at("akroasis").is_number_integer()) throw std::runtime_error("Expected integer");
17891791 x.set_akroasis(get_stack_optional<int64_t>(j, "akroasis"));
1792+ if (j.find("antiphonical") != j.end() && !j.at("antiphonical").is_number_integer()) throw std::runtime_error("Expected integer");
17901793 x.set_antiphonical(get_stack_optional<int64_t>(j, "antiphonical"));
1794+ if (j.find("basebred") != j.end() && !j.at("basebred").is_number_integer()) throw std::runtime_error("Expected integer");
17911795 x.set_basebred(get_stack_optional<int64_t>(j, "basebred"));
17921796 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
1797+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
17931798 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
1799+ if (j.find("conductometric") != j.end() && !j.at("conductometric").is_number_integer()) throw std::runtime_error("Expected integer");
17941800 x.set_conductometric(get_stack_optional<int64_t>(j, "conductometric"));
17951801 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
1802+ if (j.find("ensilation") != j.end() && !j.at("ensilation").is_number_integer()) throw std::runtime_error("Expected integer");
17961803 x.set_ensilation(get_stack_optional<int64_t>(j, "ensilation"));
1804+ if (j.find("eyebolt") != j.end() && !j.at("eyebolt").is_number_integer()) throw std::runtime_error("Expected integer");
17971805 x.set_eyebolt(get_stack_optional<int64_t>(j, "eyebolt"));
1806+ if (j.find("fistulated") != j.end() && !j.at("fistulated").is_number_integer()) throw std::runtime_error("Expected integer");
17981807 x.set_fistulated(get_stack_optional<int64_t>(j, "fistulated"));
1808+ if (j.find("heteropod") != j.end() && !j.at("heteropod").is_number_integer()) throw std::runtime_error("Expected integer");
17991809 x.set_heteropod(get_stack_optional<int64_t>(j, "heteropod"));
18001810 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
1811+ if (j.find("Juniperus") != j.end() && !j.at("Juniperus").is_number_integer()) throw std::runtime_error("Expected integer");
18011812 x.set_juniperus(get_stack_optional<int64_t>(j, "Juniperus"));
1813+ if (j.find("labyrinthically") != j.end() && !j.at("labyrinthically").is_number_integer()) throw std::runtime_error("Expected integer");
18021814 x.set_labyrinthically(get_stack_optional<int64_t>(j, "labyrinthically"));
1815+ if (j.find("martyrization") != j.end() && !j.at("martyrization").is_number_integer()) throw std::runtime_error("Expected integer");
18031816 x.set_martyrization(get_stack_optional<int64_t>(j, "martyrization"));
1817+ if (j.find("mispolicy") != j.end() && !j.at("mispolicy").is_number_integer()) throw std::runtime_error("Expected integer");
18041818 x.set_mispolicy(get_stack_optional<int64_t>(j, "mispolicy"));
1819+ if (j.find("multipara") != j.end() && !j.at("multipara").is_number_integer()) throw std::runtime_error("Expected integer");
18051820 x.set_multipara(get_stack_optional<int64_t>(j, "multipara"));
1821+ if (j.find("Nazirite") != j.end() && !j.at("Nazirite").is_number_integer()) throw std::runtime_error("Expected integer");
18061822 x.set_nazirite(get_stack_optional<int64_t>(j, "Nazirite"));
18071823 x.set_nonbookish(get_untyped(j, "nonbookish"));
1824+ if (j.find("possessorial") != j.end() && !j.at("possessorial").is_number_integer()) throw std::runtime_error("Expected integer");
18081825 x.set_possessorial(get_stack_optional<int64_t>(j, "possessorial"));
1826+ if (j.find("shamed") != j.end() && !j.at("shamed").is_number_integer()) throw std::runtime_error("Expected integer");
18091827 x.set_shamed(get_stack_optional<int64_t>(j, "shamed"));
1828+ if (j.find("shelfworn") != j.end() && !j.at("shelfworn").is_number_integer()) throw std::runtime_error("Expected integer");
18101829 x.set_shelfworn(get_stack_optional<int64_t>(j, "shelfworn"));
1830+ if (j.find("stagnum") != j.end() && !j.at("stagnum").is_number_integer()) throw std::runtime_error("Expected integer");
18111831 x.set_stagnum(get_stack_optional<int64_t>(j, "stagnum"));
1832+ if (j.find("Those") != j.end() && !j.at("Those").is_number_integer()) throw std::runtime_error("Expected integer");
18121833 x.set_those(get_stack_optional<int64_t>(j, "Those"));
1834+ if (j.find("undecimal") != j.end() && !j.at("undecimal").is_number_integer()) throw std::runtime_error("Expected integer");
18131835 x.set_undecimal(get_stack_optional<int64_t>(j, "undecimal"));
18141836 }
18151837
@@ -1988,30 +2010,51 @@ namespace quicktype {
19882010
19892011 inline void from_json(const json & j, DiscordiaClass& x) {
19902012 if (!j.is_object()) throw std::runtime_error("Expected object");
2013+ if (j.find("Altaic") != j.end() && !j.at("Altaic").is_number_integer()) throw std::runtime_error("Expected integer");
19912014 x.set_altaic(get_stack_optional<int64_t>(j, "Altaic"));
2015+ if (j.find("amoristic") != j.end() && !j.at("amoristic").is_number_integer()) throw std::runtime_error("Expected integer");
19922016 x.set_amoristic(get_stack_optional<int64_t>(j, "amoristic"));
2017+ if (j.find("blennophthalmia") != j.end() && !j.at("blennophthalmia").is_number_integer()) throw std::runtime_error("Expected integer");
19932018 x.set_blennophthalmia(get_stack_optional<int64_t>(j, "blennophthalmia"));
19942019 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2020+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
19952021 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2022+ if (j.find("disciplinability") != j.end() && !j.at("disciplinability").is_number_integer()) throw std::runtime_error("Expected integer");
19962023 x.set_disciplinability(get_stack_optional<int64_t>(j, "disciplinability"));
19972024 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2025+ if (j.find("goofer") != j.end() && !j.at("goofer").is_number_integer()) throw std::runtime_error("Expected integer");
19982026 x.set_goofer(get_stack_optional<int64_t>(j, "goofer"));
19992027 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2028+ if (j.find("laryngograph") != j.end() && !j.at("laryngograph").is_number_integer()) throw std::runtime_error("Expected integer");
20002029 x.set_laryngograph(get_stack_optional<int64_t>(j, "laryngograph"));
2030+ if (j.find("leucitis") != j.end() && !j.at("leucitis").is_number_integer()) throw std::runtime_error("Expected integer");
20012031 x.set_leucitis(get_stack_optional<int64_t>(j, "leucitis"));
2032+ if (j.find("lymphocyst") != j.end() && !j.at("lymphocyst").is_number_integer()) throw std::runtime_error("Expected integer");
20022033 x.set_lymphocyst(get_stack_optional<int64_t>(j, "lymphocyst"));
2034+ if (j.find("microcosmology") != j.end() && !j.at("microcosmology").is_number_integer()) throw std::runtime_error("Expected integer");
20032035 x.set_microcosmology(get_stack_optional<int64_t>(j, "microcosmology"));
2036+ if (j.find("nauseation") != j.end() && !j.at("nauseation").is_number_integer()) throw std::runtime_error("Expected integer");
20042037 x.set_nauseation(get_stack_optional<int64_t>(j, "nauseation"));
20052038 x.set_nonbookish(get_untyped(j, "nonbookish"));
2039+ if (j.find("Patarin") != j.end() && !j.at("Patarin").is_number_integer()) throw std::runtime_error("Expected integer");
20062040 x.set_patarin(get_stack_optional<int64_t>(j, "Patarin"));
2041+ if (j.find("preliberal") != j.end() && !j.at("preliberal").is_number_integer()) throw std::runtime_error("Expected integer");
20072042 x.set_preliberal(get_stack_optional<int64_t>(j, "preliberal"));
2043+ if (j.find("prettifier") != j.end() && !j.at("prettifier").is_number_integer()) throw std::runtime_error("Expected integer");
20082044 x.set_prettifier(get_stack_optional<int64_t>(j, "prettifier"));
2045+ if (j.find("rangework") != j.end() && !j.at("rangework").is_number_integer()) throw std::runtime_error("Expected integer");
20092046 x.set_rangework(get_stack_optional<int64_t>(j, "rangework"));
2047+ if (j.find("redient") != j.end() && !j.at("redient").is_number_integer()) throw std::runtime_error("Expected integer");
20102048 x.set_redient(get_stack_optional<int64_t>(j, "redient"));
2049+ if (j.find("subfusiform") != j.end() && !j.at("subfusiform").is_number_integer()) throw std::runtime_error("Expected integer");
20112050 x.set_subfusiform(get_stack_optional<int64_t>(j, "subfusiform"));
2051+ if (j.find("suicidical") != j.end() && !j.at("suicidical").is_number_integer()) throw std::runtime_error("Expected integer");
20122052 x.set_suicidical(get_stack_optional<int64_t>(j, "suicidical"));
2053+ if (j.find("swow") != j.end() && !j.at("swow").is_number_integer()) throw std::runtime_error("Expected integer");
20132054 x.set_swow(get_stack_optional<int64_t>(j, "swow"));
2055+ if (j.find("wastrel") != j.end() && !j.at("wastrel").is_number_integer()) throw std::runtime_error("Expected integer");
20142056 x.set_wastrel(get_stack_optional<int64_t>(j, "wastrel"));
2057+ if (j.find("wingle") != j.end() && !j.at("wingle").is_number_integer()) throw std::runtime_error("Expected integer");
20152058 x.set_wingle(get_stack_optional<int64_t>(j, "wingle"));
20162059 }
20172060
@@ -2094,30 +2137,51 @@ namespace quicktype {
20942137
20952138 inline void from_json(const json & j, LaviniaClass& x) {
20962139 if (!j.is_object()) throw std::runtime_error("Expected object");
2140+ if (j.find("agitable") != j.end() && !j.at("agitable").is_number_integer()) throw std::runtime_error("Expected integer");
20972141 x.set_agitable(get_stack_optional<int64_t>(j, "agitable"));
2142+ if (j.find("asininity") != j.end() && !j.at("asininity").is_number_integer()) throw std::runtime_error("Expected integer");
20982143 x.set_asininity(get_stack_optional<int64_t>(j, "asininity"));
2144+ if (j.find("benefiter") != j.end() && !j.at("benefiter").is_number_integer()) throw std::runtime_error("Expected integer");
20992145 x.set_benefiter(get_stack_optional<int64_t>(j, "benefiter"));
2146+ if (j.find("bronzelike") != j.end() && !j.at("bronzelike").is_number_integer()) throw std::runtime_error("Expected integer");
21002147 x.set_bronzelike(get_stack_optional<int64_t>(j, "bronzelike"));
21012148 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2149+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
21022150 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2151+ if (j.find("cholesteatomatous") != j.end() && !j.at("cholesteatomatous").is_number_integer()) throw std::runtime_error("Expected integer");
21032152 x.set_cholesteatomatous(get_stack_optional<int64_t>(j, "cholesteatomatous"));
2153+ if (j.find("deprivement") != j.end() && !j.at("deprivement").is_number_integer()) throw std::runtime_error("Expected integer");
21042154 x.set_deprivement(get_stack_optional<int64_t>(j, "deprivement"));
21052155 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2156+ if (j.find("flippantness") != j.end() && !j.at("flippantness").is_number_integer()) throw std::runtime_error("Expected integer");
21062157 x.set_flippantness(get_stack_optional<int64_t>(j, "flippantness"));
2158+ if (j.find("fogproof") != j.end() && !j.at("fogproof").is_number_integer()) throw std::runtime_error("Expected integer");
21072159 x.set_fogproof(get_stack_optional<int64_t>(j, "fogproof"));
21082160 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2161+ if (j.find("merrymeeting") != j.end() && !j.at("merrymeeting").is_number_integer()) throw std::runtime_error("Expected integer");
21092162 x.set_merrymeeting(get_stack_optional<int64_t>(j, "merrymeeting"));
21102163 x.set_nonbookish(get_untyped(j, "nonbookish"));
2164+ if (j.find("overcareful") != j.end() && !j.at("overcareful").is_number_integer()) throw std::runtime_error("Expected integer");
21112165 x.set_overcareful(get_stack_optional<int64_t>(j, "overcareful"));
2166+ if (j.find("panaris") != j.end() && !j.at("panaris").is_number_integer()) throw std::runtime_error("Expected integer");
21122167 x.set_panaris(get_stack_optional<int64_t>(j, "panaris"));
2168+ if (j.find("preacceptance") != j.end() && !j.at("preacceptance").is_number_integer()) throw std::runtime_error("Expected integer");
21132169 x.set_preacceptance(get_stack_optional<int64_t>(j, "preacceptance"));
2170+ if (j.find("quinoxaline") != j.end() && !j.at("quinoxaline").is_number_integer()) throw std::runtime_error("Expected integer");
21142171 x.set_quinoxaline(get_stack_optional<int64_t>(j, "quinoxaline"));
2172+ if (j.find("sig") != j.end() && !j.at("sig").is_number_integer()) throw std::runtime_error("Expected integer");
21152173 x.set_sig(get_stack_optional<int64_t>(j, "sig"));
2174+ if (j.find("superconfusion") != j.end() && !j.at("superconfusion").is_number_integer()) throw std::runtime_error("Expected integer");
21162175 x.set_superconfusion(get_stack_optional<int64_t>(j, "superconfusion"));
2176+ if (j.find("Tacana") != j.end() && !j.at("Tacana").is_number_integer()) throw std::runtime_error("Expected integer");
21172177 x.set_tacana(get_stack_optional<int64_t>(j, "Tacana"));
2178+ if (j.find("tillotter") != j.end() && !j.at("tillotter").is_number_integer()) throw std::runtime_error("Expected integer");
21182179 x.set_tillotter(get_stack_optional<int64_t>(j, "tillotter"));
2180+ if (j.find("tranquillize") != j.end() && !j.at("tranquillize").is_number_integer()) throw std::runtime_error("Expected integer");
21192181 x.set_tranquillize(get_stack_optional<int64_t>(j, "tranquillize"));
2182+ if (j.find("unquestionable") != j.end() && !j.at("unquestionable").is_number_integer()) throw std::runtime_error("Expected integer");
21202183 x.set_unquestionable(get_stack_optional<int64_t>(j, "unquestionable"));
2184+ if (j.find("uproute") != j.end() && !j.at("uproute").is_number_integer()) throw std::runtime_error("Expected integer");
21212185 x.set_uproute(get_stack_optional<int64_t>(j, "uproute"));
21222186 }
Test case

test/inputs/json/priority/combinations3.json

3 generated files · +201 −0
Mcpluspluscode-format-with-struct--67c848c66185 / quicktype.hpp+67 −0
@@ -925,29 +925,50 @@ namespace quicktype {
925925 inline void from_json(const json & j, LupusClass& x) {
926926 if (!j.is_object()) throw std::runtime_error("Expected object");
927927 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
928+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
928929 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
930+ if (j.find("Chlorioninae") != j.end() && !j.at("Chlorioninae").is_number_integer()) throw std::runtime_error("Expected integer");
929931 x.chlorioninae = get_stack_optional<int64_t>(j, "Chlorioninae");
932+ if (j.find("Corvinae") != j.end() && !j.at("Corvinae").is_number_integer()) throw std::runtime_error("Expected integer");
930933 x.corvinae = get_stack_optional<int64_t>(j, "Corvinae");
934+ if (j.find("Crassina") != j.end() && !j.at("Crassina").is_number_integer()) throw std::runtime_error("Expected integer");
931935 x.crassina = get_stack_optional<int64_t>(j, "Crassina");
932936 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
937+ if (j.find("exiguity") != j.end() && !j.at("exiguity").is_number_integer()) throw std::runtime_error("Expected integer");
933938 x.exiguity = get_stack_optional<int64_t>(j, "exiguity");
939+ if (j.find("farcist") != j.end() && !j.at("farcist").is_number_integer()) throw std::runtime_error("Expected integer");
934940 x.farcist = get_stack_optional<int64_t>(j, "farcist");
941+ if (j.find("holographical") != j.end() && !j.at("holographical").is_number_integer()) throw std::runtime_error("Expected integer");
935942 x.holographical = get_stack_optional<int64_t>(j, "holographical");
936943 x.homocerc = get_stack_optional<bool>(j, "homocerc");
944+ if (j.find("ichthyophagan") != j.end() && !j.at("ichthyophagan").is_number_integer()) throw std::runtime_error("Expected integer");
937945 x.ichthyophagan = get_stack_optional<int64_t>(j, "ichthyophagan");
946+ if (j.find("implacable") != j.end() && !j.at("implacable").is_number_integer()) throw std::runtime_error("Expected integer");
938947 x.implacable = get_stack_optional<int64_t>(j, "implacable");
939948 x.nonbookish = get_untyped(j, "nonbookish");
949+ if (j.find("outshiner") != j.end() && !j.at("outshiner").is_number_integer()) throw std::runtime_error("Expected integer");
940950 x.outshiner = get_stack_optional<int64_t>(j, "outshiner");
951+ if (j.find("overweather") != j.end() && !j.at("overweather").is_number_integer()) throw std::runtime_error("Expected integer");
941952 x.overweather = get_stack_optional<int64_t>(j, "overweather");
953+ if (j.find("protonegroid") != j.end() && !j.at("protonegroid").is_number_integer()) throw std::runtime_error("Expected integer");
942954 x.protonegroid = get_stack_optional<int64_t>(j, "protonegroid");
955+ if (j.find("shallowish") != j.end() && !j.at("shallowish").is_number_integer()) throw std::runtime_error("Expected integer");
943956 x.shallowish = get_stack_optional<int64_t>(j, "shallowish");
957+ if (j.find("snoke") != j.end() && !j.at("snoke").is_number_integer()) throw std::runtime_error("Expected integer");
944958 x.snoke = get_stack_optional<int64_t>(j, "snoke");
959+ if (j.find("snout") != j.end() && !j.at("snout").is_number_integer()) throw std::runtime_error("Expected integer");
945960 x.snout = get_stack_optional<int64_t>(j, "snout");
961+ if (j.find("surveillance") != j.end() && !j.at("surveillance").is_number_integer()) throw std::runtime_error("Expected integer");
946962 x.surveillance = get_stack_optional<int64_t>(j, "surveillance");
963+ if (j.find("threshingtime") != j.end() && !j.at("threshingtime").is_number_integer()) throw std::runtime_error("Expected integer");
947964 x.threshingtime = get_stack_optional<int64_t>(j, "threshingtime");
965+ if (j.find("Thysanocarpus") != j.end() && !j.at("Thysanocarpus").is_number_integer()) throw std::runtime_error("Expected integer");
948966 x.thysanocarpus = get_stack_optional<int64_t>(j, "Thysanocarpus");
967+ if (j.find("unsignificantly") != j.end() && !j.at("unsignificantly").is_number_integer()) throw std::runtime_error("Expected integer");
949968 x.unsignificantly = get_stack_optional<int64_t>(j, "unsignificantly");
969+ if (j.find("unsnap") != j.end() && !j.at("unsnap").is_number_integer()) throw std::runtime_error("Expected integer");
950970 x.unsnap = get_stack_optional<int64_t>(j, "unsnap");
971+ if (j.find("vendible") != j.end() && !j.at("vendible").is_number_integer()) throw std::runtime_error("Expected integer");
951972 x.vendible = get_stack_optional<int64_t>(j, "vendible");
952973 }
953974
@@ -982,48 +1003,69 @@ namespace quicktype {
9821003
9831004 inline void from_json(const json & j, Maslin& x) {
9841005 if (!j.is_object()) throw std::runtime_error("Expected object");
1006+ if (j.find("Alicant") != j.end() && !j.at("Alicant").is_number_integer()) throw std::runtime_error("Expected integer");
9851007 x.alicant = get_stack_optional<int64_t>(j, "Alicant");
9861008 x.antiatonement = get_untyped(j, "antiatonement");
1009+ if (j.find("anticorrosive") != j.end() && !j.at("anticorrosive").is_number_integer()) throw std::runtime_error("Expected integer");
9871010 x.anticorrosive = get_stack_optional<int64_t>(j, "anticorrosive");
9881011 x.aphidozer = get_untyped(j, "aphidozer");
9891012 x.bakuninist = get_untyped(j, "Bakuninist");
1013+ if (j.find("be") != j.end() && !j.at("be").is_number_integer()) throw std::runtime_error("Expected integer");
9901014 x.be = get_stack_optional<int64_t>(j, "be");
9911015 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1016+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
9921017 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
1018+ if (j.find("chub") != j.end() && !j.at("chub").is_number_integer()) throw std::runtime_error("Expected integer");
9931019 x.chub = get_stack_optional<int64_t>(j, "chub");
1020+ if (j.find("cuprosilicon") != j.end() && !j.at("cuprosilicon").is_number_integer()) throw std::runtime_error("Expected integer");
9941021 x.cuprosilicon = get_stack_optional<int64_t>(j, "cuprosilicon");
1022+ if (j.find("curtailedly") != j.end() && !j.at("curtailedly").is_number_integer()) throw std::runtime_error("Expected integer");
9951023 x.curtailedly = get_stack_optional<int64_t>(j, "curtailedly");
1024+ if (j.find("dellenite") != j.end() && !j.at("dellenite").is_number_integer()) throw std::runtime_error("Expected integer");
9961025 x.dellenite = get_stack_optional<int64_t>(j, "dellenite");
1026+ if (j.find("Dimitry") != j.end() && !j.at("Dimitry").is_number_integer()) throw std::runtime_error("Expected integer");
9971027 x.dimitry = get_stack_optional<int64_t>(j, "Dimitry");
9981028 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
9991029 x.edifying = get_untyped(j, "edifying");
1030+ if (j.find("ethmoiditis") != j.end() && !j.at("ethmoiditis").is_number_integer()) throw std::runtime_error("Expected integer");
10001031 x.ethmoiditis = get_stack_optional<int64_t>(j, "ethmoiditis");
10011032 x.gastralgy = get_untyped(j, "gastralgy");
1033+ if (j.find("goatherd") != j.end() && !j.at("goatherd").is_number_integer()) throw std::runtime_error("Expected integer");
10021034 x.goatherd = get_stack_optional<int64_t>(j, "goatherd");
1035+ if (j.find("hammerdress") != j.end() && !j.at("hammerdress").is_number_integer()) throw std::runtime_error("Expected integer");
10031036 x.hammerdress = get_stack_optional<int64_t>(j, "hammerdress");
10041037 x.hangfire = get_untyped(j, "hangfire");
10051038 x.homocerc = get_stack_optional<bool>(j, "homocerc");
1039+ if (j.find("lacunosity") != j.end() && !j.at("lacunosity").is_number_integer()) throw std::runtime_error("Expected integer");
10061040 x.lacunosity = get_stack_optional<int64_t>(j, "lacunosity");
10071041 x.longiloquence = get_untyped(j, "longiloquence");
1042+ if (j.find("mameliere") != j.end() && !j.at("mameliere").is_number_integer()) throw std::runtime_error("Expected integer");
10081043 x.mameliere = get_stack_optional<int64_t>(j, "mameliere");
10091044 x.motherless = get_untyped(j, "motherless");
10101045 x.nonbookish = get_untyped(j, "nonbookish");
10111046 x.noncorrodible = get_untyped(j, "noncorrodible");
10121047 x.nonsensicality = get_untyped(j, "nonsensicality");
1048+ if (j.find("oafishly") != j.end() && !j.at("oafishly").is_number_integer()) throw std::runtime_error("Expected integer");
10131049 x.oafishly = get_stack_optional<int64_t>(j, "oafishly");
10141050 x.pfund = get_untyped(j, "pfund");
10151051 x.preadvisory = get_untyped(j, "preadvisory");
10161052 x.retroflexed = get_untyped(j, "retroflexed");
1053+ if (j.find("saccharulmic") != j.end() && !j.at("saccharulmic").is_number_integer()) throw std::runtime_error("Expected integer");
10171054 x.saccharulmic = get_stack_optional<int64_t>(j, "saccharulmic");
1055+ if (j.find("scowlful") != j.end() && !j.at("scowlful").is_number_integer()) throw std::runtime_error("Expected integer");
10181056 x.scowlful = get_stack_optional<int64_t>(j, "scowlful");
10191057 x.secluded = get_untyped(j, "secluded");
10201058 x.slackage = get_untyped(j, "slackage");
1059+ if (j.find("sphaeridial") != j.end() && !j.at("sphaeridial").is_number_integer()) throw std::runtime_error("Expected integer");
10211060 x.sphaeridial = get_stack_optional<int64_t>(j, "sphaeridial");
10221061 x.spondulics = get_untyped(j, "spondulics");
1062+ if (j.find("subsecive") != j.end() && !j.at("subsecive").is_number_integer()) throw std::runtime_error("Expected integer");
10231063 x.subsecive = get_stack_optional<int64_t>(j, "subsecive");
10241064 x.swellmobsman = get_untyped(j, "swellmobsman");
1065+ if (j.find("trachyglossate") != j.end() && !j.at("trachyglossate").is_number_integer()) throw std::runtime_error("Expected integer");
10251066 x.trachyglossate = get_stack_optional<int64_t>(j, "trachyglossate");
10261067 x.trialogue = get_untyped(j, "trialogue");
1068+ if (j.find("unassuaged") != j.end() && !j.at("unassuaged").is_number_integer()) throw std::runtime_error("Expected integer");
10271069 x.unassuaged = get_stack_optional<int64_t>(j, "unassuaged");
10281070 x.ungross = get_untyped(j, "ungross");
10291071 x.unjudiciously = get_untyped(j, "unjudiciously");
@@ -1081,6 +1123,7 @@ namespace quicktype {
10811123 inline void from_json(const json & j, MonaziteClass& x) {
10821124 if (!j.is_object()) throw std::runtime_error("Expected object");
10831125 x.catharticalness = j.at("catharticalness").get<double>();
1126+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
10841127 x.chirotherium = j.at("Chirotherium").get<int64_t>();
10851128 x.disdiapason = j.at("disdiapason").get<std::string>();
10861129 x.homocerc = j.at("homocerc").get<bool>();
@@ -1101,6 +1144,7 @@ namespace quicktype {
11011144 x.blaspheme = get_untyped(j, "blaspheme");
11021145 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
11031146 x.celiosalpingectomy = get_untyped(j, "celiosalpingectomy");
1147+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
11041148 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
11051149 x.consummativeness = get_untyped(j, "consummativeness");
11061150 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
@@ -1158,6 +1202,7 @@ namespace quicktype {
11581202 if (!j.is_object()) throw std::runtime_error("Expected object");
11591203 x.estevin = j.at("estevin").get<std::string>();
11601204 x.jolterhead = j.at("jolterhead").get<double>();
1205+ if (j.find("sauternes") != j.end() && !j.at("sauternes").is_number_integer()) throw std::runtime_error("Expected integer");
11611206 x.sauternes = j.at("sauternes").get<int64_t>();
11621207 x.sparsely = j.at("sparsely").get<bool>();
11631208 x.unrequested = get_untyped(j, "unrequested");
@@ -1270,30 +1315,51 @@ namespace quicktype {
12701315
12711316 inline void from_json(const json & j, PiaculumClass& x) {
12721317 if (!j.is_object()) throw std::runtime_error("Expected object");
1318+ if (j.find("alada") != j.end() && !j.at("alada").is_number_integer()) throw std::runtime_error("Expected integer");
12731319 x.alada = get_stack_optional<int64_t>(j, "alada");
1320+ if (j.find("amphistomous") != j.end() && !j.at("amphistomous").is_number_integer()) throw std::runtime_error("Expected integer");
12741321 x.amphistomous = get_stack_optional<int64_t>(j, "amphistomous");
1322+ if (j.find("boysenberry") != j.end() && !j.at("boysenberry").is_number_integer()) throw std::runtime_error("Expected integer");
12751323 x.boysenberry = get_stack_optional<int64_t>(j, "boysenberry");
12761324 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1325+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
12771326 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
1327+ if (j.find("decardinalize") != j.end() && !j.at("decardinalize").is_number_integer()) throw std::runtime_error("Expected integer");
12781328 x.decardinalize = get_stack_optional<int64_t>(j, "decardinalize");
1329+ if (j.find("discouragement") != j.end() && !j.at("discouragement").is_number_integer()) throw std::runtime_error("Expected integer");
12791330 x.discouragement = get_stack_optional<int64_t>(j, "discouragement");
12801331 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
1332+ if (j.find("doitrified") != j.end() && !j.at("doitrified").is_number_integer()) throw std::runtime_error("Expected integer");
12811333 x.doitrified = get_stack_optional<int64_t>(j, "doitrified");
1334+ if (j.find("hexaspermous") != j.end() && !j.at("hexaspermous").is_number_integer()) throw std::runtime_error("Expected integer");
12821335 x.hexaspermous = get_stack_optional<int64_t>(j, "hexaspermous");
12831336 x.homocerc = get_stack_optional<bool>(j, "homocerc");
1337+ if (j.find("insinking") != j.end() && !j.at("insinking").is_number_integer()) throw std::runtime_error("Expected integer");
12841338 x.insinking = get_stack_optional<int64_t>(j, "insinking");
1339+ if (j.find("loathfulness") != j.end() && !j.at("loathfulness").is_number_integer()) throw std::runtime_error("Expected integer");
12851340 x.loathfulness = get_stack_optional<int64_t>(j, "loathfulness");
1341+ if (j.find("miasmatical") != j.end() && !j.at("miasmatical").is_number_integer()) throw std::runtime_error("Expected integer");
12861342 x.miasmatical = get_stack_optional<int64_t>(j, "miasmatical");
1343+ if (j.find("neurofibril") != j.end() && !j.at("neurofibril").is_number_integer()) throw std::runtime_error("Expected integer");
12871344 x.neurofibril = get_stack_optional<int64_t>(j, "neurofibril");
12881345 x.nonbookish = get_untyped(j, "nonbookish");
1346+ if (j.find("phonendoscope") != j.end() && !j.at("phonendoscope").is_number_integer()) throw std::runtime_error("Expected integer");
12891347 x.phonendoscope = get_stack_optional<int64_t>(j, "phonendoscope");
1348+ if (j.find("pilferment") != j.end() && !j.at("pilferment").is_number_integer()) throw std::runtime_error("Expected integer");
12901349 x.pilferment = get_stack_optional<int64_t>(j, "pilferment");
1350+ if (j.find("predismissory") != j.end() && !j.at("predismissory").is_number_integer()) throw std::runtime_error("Expected integer");
12911351 x.predismissory = get_stack_optional<int64_t>(j, "predismissory");
1352+ if (j.find("preinscription") != j.end() && !j.at("preinscription").is_number_integer()) throw std::runtime_error("Expected integer");
12921353 x.preinscription = get_stack_optional<int64_t>(j, "preinscription");
1354+ if (j.find("quotative") != j.end() && !j.at("quotative").is_number_integer()) throw std::runtime_error("Expected integer");
12931355 x.quotative = get_stack_optional<int64_t>(j, "quotative");
1356+ if (j.find("sienna") != j.end() && !j.at("sienna").is_number_integer()) throw std::runtime_error("Expected integer");
12941357 x.sienna = get_stack_optional<int64_t>(j, "sienna");
1358+ if (j.find("thorax") != j.end() && !j.at("thorax").is_number_integer()) throw std::runtime_error("Expected integer");
12951359 x.thorax = get_stack_optional<int64_t>(j, "thorax");
1360+ if (j.find("yachting") != j.end() && !j.at("yachting").is_number_integer()) throw std::runtime_error("Expected integer");
12961361 x.yachting = get_stack_optional<int64_t>(j, "yachting");
1362+ if (j.find("Zipper") != j.end() && !j.at("Zipper").is_number_integer()) throw std::runtime_error("Expected integer");
12971363 x.zipper = get_stack_optional<int64_t>(j, "Zipper");
12981364 }
12991365
@@ -1330,6 +1396,7 @@ namespace quicktype {
13301396 if (!j.is_object()) throw std::runtime_error("Expected object");
13311397 x.carbonarism = get_untyped(j, "Carbonarism");
13321398 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1399+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
13331400 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
13341401 x.cineolic = get_untyped(j, "cineolic");
13351402 x.cobbly = get_untyped(j, "cobbly");
Mcplusplusconst-style-east-const--0048a2a7a881 / quicktype.hpp+67 −0
@@ -2367,29 +2367,50 @@ namespace quicktype {
23672367 inline void from_json(json const & j, LupusClass& x) {
23682368 if (!j.is_object()) throw std::runtime_error("Expected object");
23692369 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2370+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
23702371 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2372+ if (j.find("Chlorioninae") != j.end() && !j.at("Chlorioninae").is_number_integer()) throw std::runtime_error("Expected integer");
23712373 x.set_chlorioninae(get_stack_optional<int64_t>(j, "Chlorioninae"));
2374+ if (j.find("Corvinae") != j.end() && !j.at("Corvinae").is_number_integer()) throw std::runtime_error("Expected integer");
23722375 x.set_corvinae(get_stack_optional<int64_t>(j, "Corvinae"));
2376+ if (j.find("Crassina") != j.end() && !j.at("Crassina").is_number_integer()) throw std::runtime_error("Expected integer");
23732377 x.set_crassina(get_stack_optional<int64_t>(j, "Crassina"));
23742378 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2379+ if (j.find("exiguity") != j.end() && !j.at("exiguity").is_number_integer()) throw std::runtime_error("Expected integer");
23752380 x.set_exiguity(get_stack_optional<int64_t>(j, "exiguity"));
2381+ if (j.find("farcist") != j.end() && !j.at("farcist").is_number_integer()) throw std::runtime_error("Expected integer");
23762382 x.set_farcist(get_stack_optional<int64_t>(j, "farcist"));
2383+ if (j.find("holographical") != j.end() && !j.at("holographical").is_number_integer()) throw std::runtime_error("Expected integer");
23772384 x.set_holographical(get_stack_optional<int64_t>(j, "holographical"));
23782385 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2386+ if (j.find("ichthyophagan") != j.end() && !j.at("ichthyophagan").is_number_integer()) throw std::runtime_error("Expected integer");
23792387 x.set_ichthyophagan(get_stack_optional<int64_t>(j, "ichthyophagan"));
2388+ if (j.find("implacable") != j.end() && !j.at("implacable").is_number_integer()) throw std::runtime_error("Expected integer");
23802389 x.set_implacable(get_stack_optional<int64_t>(j, "implacable"));
23812390 x.set_nonbookish(get_untyped(j, "nonbookish"));
2391+ if (j.find("outshiner") != j.end() && !j.at("outshiner").is_number_integer()) throw std::runtime_error("Expected integer");
23822392 x.set_outshiner(get_stack_optional<int64_t>(j, "outshiner"));
2393+ if (j.find("overweather") != j.end() && !j.at("overweather").is_number_integer()) throw std::runtime_error("Expected integer");
23832394 x.set_overweather(get_stack_optional<int64_t>(j, "overweather"));
2395+ if (j.find("protonegroid") != j.end() && !j.at("protonegroid").is_number_integer()) throw std::runtime_error("Expected integer");
23842396 x.set_protonegroid(get_stack_optional<int64_t>(j, "protonegroid"));
2397+ if (j.find("shallowish") != j.end() && !j.at("shallowish").is_number_integer()) throw std::runtime_error("Expected integer");
23852398 x.set_shallowish(get_stack_optional<int64_t>(j, "shallowish"));
2399+ if (j.find("snoke") != j.end() && !j.at("snoke").is_number_integer()) throw std::runtime_error("Expected integer");
23862400 x.set_snoke(get_stack_optional<int64_t>(j, "snoke"));
2401+ if (j.find("snout") != j.end() && !j.at("snout").is_number_integer()) throw std::runtime_error("Expected integer");
23872402 x.set_snout(get_stack_optional<int64_t>(j, "snout"));
2403+ if (j.find("surveillance") != j.end() && !j.at("surveillance").is_number_integer()) throw std::runtime_error("Expected integer");
23882404 x.set_surveillance(get_stack_optional<int64_t>(j, "surveillance"));
2405+ if (j.find("threshingtime") != j.end() && !j.at("threshingtime").is_number_integer()) throw std::runtime_error("Expected integer");
23892406 x.set_threshingtime(get_stack_optional<int64_t>(j, "threshingtime"));
2407+ if (j.find("Thysanocarpus") != j.end() && !j.at("Thysanocarpus").is_number_integer()) throw std::runtime_error("Expected integer");
23902408 x.set_thysanocarpus(get_stack_optional<int64_t>(j, "Thysanocarpus"));
2409+ if (j.find("unsignificantly") != j.end() && !j.at("unsignificantly").is_number_integer()) throw std::runtime_error("Expected integer");
23912410 x.set_unsignificantly(get_stack_optional<int64_t>(j, "unsignificantly"));
2411+ if (j.find("unsnap") != j.end() && !j.at("unsnap").is_number_integer()) throw std::runtime_error("Expected integer");
23922412 x.set_unsnap(get_stack_optional<int64_t>(j, "unsnap"));
2413+ if (j.find("vendible") != j.end() && !j.at("vendible").is_number_integer()) throw std::runtime_error("Expected integer");
23932414 x.set_vendible(get_stack_optional<int64_t>(j, "vendible"));
23942415 }
23952416
@@ -2424,48 +2445,69 @@ namespace quicktype {
24242445
24252446 inline void from_json(json const & j, Maslin& x) {
24262447 if (!j.is_object()) throw std::runtime_error("Expected object");
2448+ if (j.find("Alicant") != j.end() && !j.at("Alicant").is_number_integer()) throw std::runtime_error("Expected integer");
24272449 x.set_alicant(get_stack_optional<int64_t>(j, "Alicant"));
24282450 x.set_antiatonement(get_untyped(j, "antiatonement"));
2451+ if (j.find("anticorrosive") != j.end() && !j.at("anticorrosive").is_number_integer()) throw std::runtime_error("Expected integer");
24292452 x.set_anticorrosive(get_stack_optional<int64_t>(j, "anticorrosive"));
24302453 x.set_aphidozer(get_untyped(j, "aphidozer"));
24312454 x.set_bakuninist(get_untyped(j, "Bakuninist"));
2455+ if (j.find("be") != j.end() && !j.at("be").is_number_integer()) throw std::runtime_error("Expected integer");
24322456 x.set_be(get_stack_optional<int64_t>(j, "be"));
24332457 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2458+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
24342459 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2460+ if (j.find("chub") != j.end() && !j.at("chub").is_number_integer()) throw std::runtime_error("Expected integer");
24352461 x.set_chub(get_stack_optional<int64_t>(j, "chub"));
2462+ if (j.find("cuprosilicon") != j.end() && !j.at("cuprosilicon").is_number_integer()) throw std::runtime_error("Expected integer");
24362463 x.set_cuprosilicon(get_stack_optional<int64_t>(j, "cuprosilicon"));
2464+ if (j.find("curtailedly") != j.end() && !j.at("curtailedly").is_number_integer()) throw std::runtime_error("Expected integer");
24372465 x.set_curtailedly(get_stack_optional<int64_t>(j, "curtailedly"));
2466+ if (j.find("dellenite") != j.end() && !j.at("dellenite").is_number_integer()) throw std::runtime_error("Expected integer");
24382467 x.set_dellenite(get_stack_optional<int64_t>(j, "dellenite"));
2468+ if (j.find("Dimitry") != j.end() && !j.at("Dimitry").is_number_integer()) throw std::runtime_error("Expected integer");
24392469 x.set_dimitry(get_stack_optional<int64_t>(j, "Dimitry"));
24402470 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
24412471 x.set_edifying(get_untyped(j, "edifying"));
2472+ if (j.find("ethmoiditis") != j.end() && !j.at("ethmoiditis").is_number_integer()) throw std::runtime_error("Expected integer");
24422473 x.set_ethmoiditis(get_stack_optional<int64_t>(j, "ethmoiditis"));
24432474 x.set_gastralgy(get_untyped(j, "gastralgy"));
2475+ if (j.find("goatherd") != j.end() && !j.at("goatherd").is_number_integer()) throw std::runtime_error("Expected integer");
24442476 x.set_goatherd(get_stack_optional<int64_t>(j, "goatherd"));
2477+ if (j.find("hammerdress") != j.end() && !j.at("hammerdress").is_number_integer()) throw std::runtime_error("Expected integer");
24452478 x.set_hammerdress(get_stack_optional<int64_t>(j, "hammerdress"));
24462479 x.set_hangfire(get_untyped(j, "hangfire"));
24472480 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2481+ if (j.find("lacunosity") != j.end() && !j.at("lacunosity").is_number_integer()) throw std::runtime_error("Expected integer");
24482482 x.set_lacunosity(get_stack_optional<int64_t>(j, "lacunosity"));
24492483 x.set_longiloquence(get_untyped(j, "longiloquence"));
2484+ if (j.find("mameliere") != j.end() && !j.at("mameliere").is_number_integer()) throw std::runtime_error("Expected integer");
24502485 x.set_mameliere(get_stack_optional<int64_t>(j, "mameliere"));
24512486 x.set_motherless(get_untyped(j, "motherless"));
24522487 x.set_nonbookish(get_untyped(j, "nonbookish"));
24532488 x.set_noncorrodible(get_untyped(j, "noncorrodible"));
24542489 x.set_nonsensicality(get_untyped(j, "nonsensicality"));
2490+ if (j.find("oafishly") != j.end() && !j.at("oafishly").is_number_integer()) throw std::runtime_error("Expected integer");
24552491 x.set_oafishly(get_stack_optional<int64_t>(j, "oafishly"));
24562492 x.set_pfund(get_untyped(j, "pfund"));
24572493 x.set_preadvisory(get_untyped(j, "preadvisory"));
24582494 x.set_retroflexed(get_untyped(j, "retroflexed"));
2495+ if (j.find("saccharulmic") != j.end() && !j.at("saccharulmic").is_number_integer()) throw std::runtime_error("Expected integer");
24592496 x.set_saccharulmic(get_stack_optional<int64_t>(j, "saccharulmic"));
2497+ if (j.find("scowlful") != j.end() && !j.at("scowlful").is_number_integer()) throw std::runtime_error("Expected integer");
24602498 x.set_scowlful(get_stack_optional<int64_t>(j, "scowlful"));
24612499 x.set_secluded(get_untyped(j, "secluded"));
24622500 x.set_slackage(get_untyped(j, "slackage"));
2501+ if (j.find("sphaeridial") != j.end() && !j.at("sphaeridial").is_number_integer()) throw std::runtime_error("Expected integer");
24632502 x.set_sphaeridial(get_stack_optional<int64_t>(j, "sphaeridial"));
24642503 x.set_spondulics(get_untyped(j, "spondulics"));
2504+ if (j.find("subsecive") != j.end() && !j.at("subsecive").is_number_integer()) throw std::runtime_error("Expected integer");
24652505 x.set_subsecive(get_stack_optional<int64_t>(j, "subsecive"));
24662506 x.set_swellmobsman(get_untyped(j, "swellmobsman"));
2507+ if (j.find("trachyglossate") != j.end() && !j.at("trachyglossate").is_number_integer()) throw std::runtime_error("Expected integer");
24672508 x.set_trachyglossate(get_stack_optional<int64_t>(j, "trachyglossate"));
24682509 x.set_trialogue(get_untyped(j, "trialogue"));
2510+ if (j.find("unassuaged") != j.end() && !j.at("unassuaged").is_number_integer()) throw std::runtime_error("Expected integer");
24692511 x.set_unassuaged(get_stack_optional<int64_t>(j, "unassuaged"));
24702512 x.set_ungross(get_untyped(j, "ungross"));
24712513 x.set_unjudiciously(get_untyped(j, "unjudiciously"));
@@ -2523,6 +2565,7 @@ namespace quicktype {
25232565 inline void from_json(json const & j, MonaziteClass& x) {
25242566 if (!j.is_object()) throw std::runtime_error("Expected object");
25252567 x.set_catharticalness(j.at("catharticalness").get<double>());
2568+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
25262569 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
25272570 x.set_disdiapason(j.at("disdiapason").get<std::string>());
25282571 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -2543,6 +2586,7 @@ namespace quicktype {
25432586 x.set_blaspheme(get_untyped(j, "blaspheme"));
25442587 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
25452588 x.set_celiosalpingectomy(get_untyped(j, "celiosalpingectomy"));
2589+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
25462590 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
25472591 x.set_consummativeness(get_untyped(j, "consummativeness"));
25482592 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
@@ -2600,6 +2644,7 @@ namespace quicktype {
26002644 if (!j.is_object()) throw std::runtime_error("Expected object");
26012645 x.set_estevin(j.at("estevin").get<std::string>());
26022646 x.set_jolterhead(j.at("jolterhead").get<double>());
2647+ if (j.find("sauternes") != j.end() && !j.at("sauternes").is_number_integer()) throw std::runtime_error("Expected integer");
26032648 x.set_sauternes(j.at("sauternes").get<int64_t>());
26042649 x.set_sparsely(j.at("sparsely").get<bool>());
26052650 x.set_unrequested(get_untyped(j, "unrequested"));
@@ -2712,30 +2757,51 @@ namespace quicktype {
27122757
27132758 inline void from_json(json const & j, PiaculumClass& x) {
27142759 if (!j.is_object()) throw std::runtime_error("Expected object");
2760+ if (j.find("alada") != j.end() && !j.at("alada").is_number_integer()) throw std::runtime_error("Expected integer");
27152761 x.set_alada(get_stack_optional<int64_t>(j, "alada"));
2762+ if (j.find("amphistomous") != j.end() && !j.at("amphistomous").is_number_integer()) throw std::runtime_error("Expected integer");
27162763 x.set_amphistomous(get_stack_optional<int64_t>(j, "amphistomous"));
2764+ if (j.find("boysenberry") != j.end() && !j.at("boysenberry").is_number_integer()) throw std::runtime_error("Expected integer");
27172765 x.set_boysenberry(get_stack_optional<int64_t>(j, "boysenberry"));
27182766 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2767+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
27192768 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2769+ if (j.find("decardinalize") != j.end() && !j.at("decardinalize").is_number_integer()) throw std::runtime_error("Expected integer");
27202770 x.set_decardinalize(get_stack_optional<int64_t>(j, "decardinalize"));
2771+ if (j.find("discouragement") != j.end() && !j.at("discouragement").is_number_integer()) throw std::runtime_error("Expected integer");
27212772 x.set_discouragement(get_stack_optional<int64_t>(j, "discouragement"));
27222773 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2774+ if (j.find("doitrified") != j.end() && !j.at("doitrified").is_number_integer()) throw std::runtime_error("Expected integer");
27232775 x.set_doitrified(get_stack_optional<int64_t>(j, "doitrified"));
2776+ if (j.find("hexaspermous") != j.end() && !j.at("hexaspermous").is_number_integer()) throw std::runtime_error("Expected integer");
27242777 x.set_hexaspermous(get_stack_optional<int64_t>(j, "hexaspermous"));
27252778 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2779+ if (j.find("insinking") != j.end() && !j.at("insinking").is_number_integer()) throw std::runtime_error("Expected integer");
27262780 x.set_insinking(get_stack_optional<int64_t>(j, "insinking"));
2781+ if (j.find("loathfulness") != j.end() && !j.at("loathfulness").is_number_integer()) throw std::runtime_error("Expected integer");
27272782 x.set_loathfulness(get_stack_optional<int64_t>(j, "loathfulness"));
2783+ if (j.find("miasmatical") != j.end() && !j.at("miasmatical").is_number_integer()) throw std::runtime_error("Expected integer");
27282784 x.set_miasmatical(get_stack_optional<int64_t>(j, "miasmatical"));
2785+ if (j.find("neurofibril") != j.end() && !j.at("neurofibril").is_number_integer()) throw std::runtime_error("Expected integer");
27292786 x.set_neurofibril(get_stack_optional<int64_t>(j, "neurofibril"));
27302787 x.set_nonbookish(get_untyped(j, "nonbookish"));
2788+ if (j.find("phonendoscope") != j.end() && !j.at("phonendoscope").is_number_integer()) throw std::runtime_error("Expected integer");
27312789 x.set_phonendoscope(get_stack_optional<int64_t>(j, "phonendoscope"));
2790+ if (j.find("pilferment") != j.end() && !j.at("pilferment").is_number_integer()) throw std::runtime_error("Expected integer");
27322791 x.set_pilferment(get_stack_optional<int64_t>(j, "pilferment"));
2792+ if (j.find("predismissory") != j.end() && !j.at("predismissory").is_number_integer()) throw std::runtime_error("Expected integer");
27332793 x.set_predismissory(get_stack_optional<int64_t>(j, "predismissory"));
2794+ if (j.find("preinscription") != j.end() && !j.at("preinscription").is_number_integer()) throw std::runtime_error("Expected integer");
27342795 x.set_preinscription(get_stack_optional<int64_t>(j, "preinscription"));
2796+ if (j.find("quotative") != j.end() && !j.at("quotative").is_number_integer()) throw std::runtime_error("Expected integer");
27352797 x.set_quotative(get_stack_optional<int64_t>(j, "quotative"));
2798+ if (j.find("sienna") != j.end() && !j.at("sienna").is_number_integer()) throw std::runtime_error("Expected integer");
27362799 x.set_sienna(get_stack_optional<int64_t>(j, "sienna"));
2800+ if (j.find("thorax") != j.end() && !j.at("thorax").is_number_integer()) throw std::runtime_error("Expected integer");
27372801 x.set_thorax(get_stack_optional<int64_t>(j, "thorax"));
2802+ if (j.find("yachting") != j.end() && !j.at("yachting").is_number_integer()) throw std::runtime_error("Expected integer");
27382803 x.set_yachting(get_stack_optional<int64_t>(j, "yachting"));
2804+ if (j.find("Zipper") != j.end() && !j.at("Zipper").is_number_integer()) throw std::runtime_error("Expected integer");
27392805 x.set_zipper(get_stack_optional<int64_t>(j, "Zipper"));
27402806 }
27412807
@@ -2772,6 +2838,7 @@ namespace quicktype {
27722838 if (!j.is_object()) throw std::runtime_error("Expected object");
27732839 x.set_carbonarism(get_untyped(j, "Carbonarism"));
27742840 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2841+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
27752842 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
27762843 x.set_cineolic(get_untyped(j, "cineolic"));
27772844 x.set_cobbly(get_untyped(j, "cobbly"));
Mcplusplusdefault / quicktype.hpp+67 −0
@@ -2367,29 +2367,50 @@ namespace quicktype {
23672367 inline void from_json(const json & j, LupusClass& x) {
23682368 if (!j.is_object()) throw std::runtime_error("Expected object");
23692369 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2370+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
23702371 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2372+ if (j.find("Chlorioninae") != j.end() && !j.at("Chlorioninae").is_number_integer()) throw std::runtime_error("Expected integer");
23712373 x.set_chlorioninae(get_stack_optional<int64_t>(j, "Chlorioninae"));
2374+ if (j.find("Corvinae") != j.end() && !j.at("Corvinae").is_number_integer()) throw std::runtime_error("Expected integer");
23722375 x.set_corvinae(get_stack_optional<int64_t>(j, "Corvinae"));
2376+ if (j.find("Crassina") != j.end() && !j.at("Crassina").is_number_integer()) throw std::runtime_error("Expected integer");
23732377 x.set_crassina(get_stack_optional<int64_t>(j, "Crassina"));
23742378 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2379+ if (j.find("exiguity") != j.end() && !j.at("exiguity").is_number_integer()) throw std::runtime_error("Expected integer");
23752380 x.set_exiguity(get_stack_optional<int64_t>(j, "exiguity"));
2381+ if (j.find("farcist") != j.end() && !j.at("farcist").is_number_integer()) throw std::runtime_error("Expected integer");
23762382 x.set_farcist(get_stack_optional<int64_t>(j, "farcist"));
2383+ if (j.find("holographical") != j.end() && !j.at("holographical").is_number_integer()) throw std::runtime_error("Expected integer");
23772384 x.set_holographical(get_stack_optional<int64_t>(j, "holographical"));
23782385 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2386+ if (j.find("ichthyophagan") != j.end() && !j.at("ichthyophagan").is_number_integer()) throw std::runtime_error("Expected integer");
23792387 x.set_ichthyophagan(get_stack_optional<int64_t>(j, "ichthyophagan"));
2388+ if (j.find("implacable") != j.end() && !j.at("implacable").is_number_integer()) throw std::runtime_error("Expected integer");
23802389 x.set_implacable(get_stack_optional<int64_t>(j, "implacable"));
23812390 x.set_nonbookish(get_untyped(j, "nonbookish"));
2391+ if (j.find("outshiner") != j.end() && !j.at("outshiner").is_number_integer()) throw std::runtime_error("Expected integer");
23822392 x.set_outshiner(get_stack_optional<int64_t>(j, "outshiner"));
2393+ if (j.find("overweather") != j.end() && !j.at("overweather").is_number_integer()) throw std::runtime_error("Expected integer");
23832394 x.set_overweather(get_stack_optional<int64_t>(j, "overweather"));
2395+ if (j.find("protonegroid") != j.end() && !j.at("protonegroid").is_number_integer()) throw std::runtime_error("Expected integer");
23842396 x.set_protonegroid(get_stack_optional<int64_t>(j, "protonegroid"));
2397+ if (j.find("shallowish") != j.end() && !j.at("shallowish").is_number_integer()) throw std::runtime_error("Expected integer");
23852398 x.set_shallowish(get_stack_optional<int64_t>(j, "shallowish"));
2399+ if (j.find("snoke") != j.end() && !j.at("snoke").is_number_integer()) throw std::runtime_error("Expected integer");
23862400 x.set_snoke(get_stack_optional<int64_t>(j, "snoke"));
2401+ if (j.find("snout") != j.end() && !j.at("snout").is_number_integer()) throw std::runtime_error("Expected integer");
23872402 x.set_snout(get_stack_optional<int64_t>(j, "snout"));
2403+ if (j.find("surveillance") != j.end() && !j.at("surveillance").is_number_integer()) throw std::runtime_error("Expected integer");
23882404 x.set_surveillance(get_stack_optional<int64_t>(j, "surveillance"));
2405+ if (j.find("threshingtime") != j.end() && !j.at("threshingtime").is_number_integer()) throw std::runtime_error("Expected integer");
23892406 x.set_threshingtime(get_stack_optional<int64_t>(j, "threshingtime"));
2407+ if (j.find("Thysanocarpus") != j.end() && !j.at("Thysanocarpus").is_number_integer()) throw std::runtime_error("Expected integer");
23902408 x.set_thysanocarpus(get_stack_optional<int64_t>(j, "Thysanocarpus"));
2409+ if (j.find("unsignificantly") != j.end() && !j.at("unsignificantly").is_number_integer()) throw std::runtime_error("Expected integer");
23912410 x.set_unsignificantly(get_stack_optional<int64_t>(j, "unsignificantly"));
2411+ if (j.find("unsnap") != j.end() && !j.at("unsnap").is_number_integer()) throw std::runtime_error("Expected integer");
23922412 x.set_unsnap(get_stack_optional<int64_t>(j, "unsnap"));
2413+ if (j.find("vendible") != j.end() && !j.at("vendible").is_number_integer()) throw std::runtime_error("Expected integer");
23932414 x.set_vendible(get_stack_optional<int64_t>(j, "vendible"));
23942415 }
23952416
@@ -2424,48 +2445,69 @@ namespace quicktype {
24242445
24252446 inline void from_json(const json & j, Maslin& x) {
24262447 if (!j.is_object()) throw std::runtime_error("Expected object");
2448+ if (j.find("Alicant") != j.end() && !j.at("Alicant").is_number_integer()) throw std::runtime_error("Expected integer");
24272449 x.set_alicant(get_stack_optional<int64_t>(j, "Alicant"));
24282450 x.set_antiatonement(get_untyped(j, "antiatonement"));
2451+ if (j.find("anticorrosive") != j.end() && !j.at("anticorrosive").is_number_integer()) throw std::runtime_error("Expected integer");
24292452 x.set_anticorrosive(get_stack_optional<int64_t>(j, "anticorrosive"));
24302453 x.set_aphidozer(get_untyped(j, "aphidozer"));
24312454 x.set_bakuninist(get_untyped(j, "Bakuninist"));
2455+ if (j.find("be") != j.end() && !j.at("be").is_number_integer()) throw std::runtime_error("Expected integer");
24322456 x.set_be(get_stack_optional<int64_t>(j, "be"));
24332457 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2458+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
24342459 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2460+ if (j.find("chub") != j.end() && !j.at("chub").is_number_integer()) throw std::runtime_error("Expected integer");
24352461 x.set_chub(get_stack_optional<int64_t>(j, "chub"));
2462+ if (j.find("cuprosilicon") != j.end() && !j.at("cuprosilicon").is_number_integer()) throw std::runtime_error("Expected integer");
24362463 x.set_cuprosilicon(get_stack_optional<int64_t>(j, "cuprosilicon"));
2464+ if (j.find("curtailedly") != j.end() && !j.at("curtailedly").is_number_integer()) throw std::runtime_error("Expected integer");
24372465 x.set_curtailedly(get_stack_optional<int64_t>(j, "curtailedly"));
2466+ if (j.find("dellenite") != j.end() && !j.at("dellenite").is_number_integer()) throw std::runtime_error("Expected integer");
24382467 x.set_dellenite(get_stack_optional<int64_t>(j, "dellenite"));
2468+ if (j.find("Dimitry") != j.end() && !j.at("Dimitry").is_number_integer()) throw std::runtime_error("Expected integer");
24392469 x.set_dimitry(get_stack_optional<int64_t>(j, "Dimitry"));
24402470 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
24412471 x.set_edifying(get_untyped(j, "edifying"));
2472+ if (j.find("ethmoiditis") != j.end() && !j.at("ethmoiditis").is_number_integer()) throw std::runtime_error("Expected integer");
24422473 x.set_ethmoiditis(get_stack_optional<int64_t>(j, "ethmoiditis"));
24432474 x.set_gastralgy(get_untyped(j, "gastralgy"));
2475+ if (j.find("goatherd") != j.end() && !j.at("goatherd").is_number_integer()) throw std::runtime_error("Expected integer");
24442476 x.set_goatherd(get_stack_optional<int64_t>(j, "goatherd"));
2477+ if (j.find("hammerdress") != j.end() && !j.at("hammerdress").is_number_integer()) throw std::runtime_error("Expected integer");
24452478 x.set_hammerdress(get_stack_optional<int64_t>(j, "hammerdress"));
24462479 x.set_hangfire(get_untyped(j, "hangfire"));
24472480 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2481+ if (j.find("lacunosity") != j.end() && !j.at("lacunosity").is_number_integer()) throw std::runtime_error("Expected integer");
24482482 x.set_lacunosity(get_stack_optional<int64_t>(j, "lacunosity"));
24492483 x.set_longiloquence(get_untyped(j, "longiloquence"));
2484+ if (j.find("mameliere") != j.end() && !j.at("mameliere").is_number_integer()) throw std::runtime_error("Expected integer");
24502485 x.set_mameliere(get_stack_optional<int64_t>(j, "mameliere"));
24512486 x.set_motherless(get_untyped(j, "motherless"));
24522487 x.set_nonbookish(get_untyped(j, "nonbookish"));
24532488 x.set_noncorrodible(get_untyped(j, "noncorrodible"));
24542489 x.set_nonsensicality(get_untyped(j, "nonsensicality"));
2490+ if (j.find("oafishly") != j.end() && !j.at("oafishly").is_number_integer()) throw std::runtime_error("Expected integer");
24552491 x.set_oafishly(get_stack_optional<int64_t>(j, "oafishly"));
24562492 x.set_pfund(get_untyped(j, "pfund"));
24572493 x.set_preadvisory(get_untyped(j, "preadvisory"));
24582494 x.set_retroflexed(get_untyped(j, "retroflexed"));
2495+ if (j.find("saccharulmic") != j.end() && !j.at("saccharulmic").is_number_integer()) throw std::runtime_error("Expected integer");
24592496 x.set_saccharulmic(get_stack_optional<int64_t>(j, "saccharulmic"));
2497+ if (j.find("scowlful") != j.end() && !j.at("scowlful").is_number_integer()) throw std::runtime_error("Expected integer");
24602498 x.set_scowlful(get_stack_optional<int64_t>(j, "scowlful"));
24612499 x.set_secluded(get_untyped(j, "secluded"));
24622500 x.set_slackage(get_untyped(j, "slackage"));
2501+ if (j.find("sphaeridial") != j.end() && !j.at("sphaeridial").is_number_integer()) throw std::runtime_error("Expected integer");
24632502 x.set_sphaeridial(get_stack_optional<int64_t>(j, "sphaeridial"));
24642503 x.set_spondulics(get_untyped(j, "spondulics"));
2504+ if (j.find("subsecive") != j.end() && !j.at("subsecive").is_number_integer()) throw std::runtime_error("Expected integer");
24652505 x.set_subsecive(get_stack_optional<int64_t>(j, "subsecive"));
24662506 x.set_swellmobsman(get_untyped(j, "swellmobsman"));
2507+ if (j.find("trachyglossate") != j.end() && !j.at("trachyglossate").is_number_integer()) throw std::runtime_error("Expected integer");
24672508 x.set_trachyglossate(get_stack_optional<int64_t>(j, "trachyglossate"));
24682509 x.set_trialogue(get_untyped(j, "trialogue"));
2510+ if (j.find("unassuaged") != j.end() && !j.at("unassuaged").is_number_integer()) throw std::runtime_error("Expected integer");
24692511 x.set_unassuaged(get_stack_optional<int64_t>(j, "unassuaged"));
24702512 x.set_ungross(get_untyped(j, "ungross"));
24712513 x.set_unjudiciously(get_untyped(j, "unjudiciously"));
@@ -2523,6 +2565,7 @@ namespace quicktype {
25232565 inline void from_json(const json & j, MonaziteClass& x) {
25242566 if (!j.is_object()) throw std::runtime_error("Expected object");
25252567 x.set_catharticalness(j.at("catharticalness").get<double>());
2568+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
25262569 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
25272570 x.set_disdiapason(j.at("disdiapason").get<std::string>());
25282571 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -2543,6 +2586,7 @@ namespace quicktype {
25432586 x.set_blaspheme(get_untyped(j, "blaspheme"));
25442587 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
25452588 x.set_celiosalpingectomy(get_untyped(j, "celiosalpingectomy"));
2589+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
25462590 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
25472591 x.set_consummativeness(get_untyped(j, "consummativeness"));
25482592 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
@@ -2600,6 +2644,7 @@ namespace quicktype {
26002644 if (!j.is_object()) throw std::runtime_error("Expected object");
26012645 x.set_estevin(j.at("estevin").get<std::string>());
26022646 x.set_jolterhead(j.at("jolterhead").get<double>());
2647+ if (j.find("sauternes") != j.end() && !j.at("sauternes").is_number_integer()) throw std::runtime_error("Expected integer");
26032648 x.set_sauternes(j.at("sauternes").get<int64_t>());
26042649 x.set_sparsely(j.at("sparsely").get<bool>());
26052650 x.set_unrequested(get_untyped(j, "unrequested"));
@@ -2712,30 +2757,51 @@ namespace quicktype {
27122757
27132758 inline void from_json(const json & j, PiaculumClass& x) {
27142759 if (!j.is_object()) throw std::runtime_error("Expected object");
2760+ if (j.find("alada") != j.end() && !j.at("alada").is_number_integer()) throw std::runtime_error("Expected integer");
27152761 x.set_alada(get_stack_optional<int64_t>(j, "alada"));
2762+ if (j.find("amphistomous") != j.end() && !j.at("amphistomous").is_number_integer()) throw std::runtime_error("Expected integer");
27162763 x.set_amphistomous(get_stack_optional<int64_t>(j, "amphistomous"));
2764+ if (j.find("boysenberry") != j.end() && !j.at("boysenberry").is_number_integer()) throw std::runtime_error("Expected integer");
27172765 x.set_boysenberry(get_stack_optional<int64_t>(j, "boysenberry"));
27182766 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2767+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
27192768 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
2769+ if (j.find("decardinalize") != j.end() && !j.at("decardinalize").is_number_integer()) throw std::runtime_error("Expected integer");
27202770 x.set_decardinalize(get_stack_optional<int64_t>(j, "decardinalize"));
2771+ if (j.find("discouragement") != j.end() && !j.at("discouragement").is_number_integer()) throw std::runtime_error("Expected integer");
27212772 x.set_discouragement(get_stack_optional<int64_t>(j, "discouragement"));
27222773 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
2774+ if (j.find("doitrified") != j.end() && !j.at("doitrified").is_number_integer()) throw std::runtime_error("Expected integer");
27232775 x.set_doitrified(get_stack_optional<int64_t>(j, "doitrified"));
2776+ if (j.find("hexaspermous") != j.end() && !j.at("hexaspermous").is_number_integer()) throw std::runtime_error("Expected integer");
27242777 x.set_hexaspermous(get_stack_optional<int64_t>(j, "hexaspermous"));
27252778 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
2779+ if (j.find("insinking") != j.end() && !j.at("insinking").is_number_integer()) throw std::runtime_error("Expected integer");
27262780 x.set_insinking(get_stack_optional<int64_t>(j, "insinking"));
2781+ if (j.find("loathfulness") != j.end() && !j.at("loathfulness").is_number_integer()) throw std::runtime_error("Expected integer");
27272782 x.set_loathfulness(get_stack_optional<int64_t>(j, "loathfulness"));
2783+ if (j.find("miasmatical") != j.end() && !j.at("miasmatical").is_number_integer()) throw std::runtime_error("Expected integer");
27282784 x.set_miasmatical(get_stack_optional<int64_t>(j, "miasmatical"));
2785+ if (j.find("neurofibril") != j.end() && !j.at("neurofibril").is_number_integer()) throw std::runtime_error("Expected integer");
27292786 x.set_neurofibril(get_stack_optional<int64_t>(j, "neurofibril"));
27302787 x.set_nonbookish(get_untyped(j, "nonbookish"));
2788+ if (j.find("phonendoscope") != j.end() && !j.at("phonendoscope").is_number_integer()) throw std::runtime_error("Expected integer");
27312789 x.set_phonendoscope(get_stack_optional<int64_t>(j, "phonendoscope"));
2790+ if (j.find("pilferment") != j.end() && !j.at("pilferment").is_number_integer()) throw std::runtime_error("Expected integer");
27322791 x.set_pilferment(get_stack_optional<int64_t>(j, "pilferment"));
2792+ if (j.find("predismissory") != j.end() && !j.at("predismissory").is_number_integer()) throw std::runtime_error("Expected integer");
27332793 x.set_predismissory(get_stack_optional<int64_t>(j, "predismissory"));
2794+ if (j.find("preinscription") != j.end() && !j.at("preinscription").is_number_integer()) throw std::runtime_error("Expected integer");
27342795 x.set_preinscription(get_stack_optional<int64_t>(j, "preinscription"));
2796+ if (j.find("quotative") != j.end() && !j.at("quotative").is_number_integer()) throw std::runtime_error("Expected integer");
27352797 x.set_quotative(get_stack_optional<int64_t>(j, "quotative"));
2798+ if (j.find("sienna") != j.end() && !j.at("sienna").is_number_integer()) throw std::runtime_error("Expected integer");
27362799 x.set_sienna(get_stack_optional<int64_t>(j, "sienna"));
2800+ if (j.find("thorax") != j.end() && !j.at("thorax").is_number_integer()) throw std::runtime_error("Expected integer");
27372801 x.set_thorax(get_stack_optional<int64_t>(j, "thorax"));
2802+ if (j.find("yachting") != j.end() && !j.at("yachting").is_number_integer()) throw std::runtime_error("Expected integer");
27382803 x.set_yachting(get_stack_optional<int64_t>(j, "yachting"));
2804+ if (j.find("Zipper") != j.end() && !j.at("Zipper").is_number_integer()) throw std::runtime_error("Expected integer");
27392805 x.set_zipper(get_stack_optional<int64_t>(j, "Zipper"));
27402806 }
27412807
@@ -2772,6 +2838,7 @@ namespace quicktype {
27722838 if (!j.is_object()) throw std::runtime_error("Expected object");
27732839 x.set_carbonarism(get_untyped(j, "Carbonarism"));
27742840 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2841+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
27752842 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
27762843 x.set_cineolic(get_untyped(j, "cineolic"));
27772844 x.set_cobbly(get_untyped(j, "cobbly"));
Test case

test/inputs/json/priority/combinations4.json

3 generated files · +201 −0
Mcpluspluscode-format-with-struct--67c848c66185 / quicktype.hpp+67 −0
@@ -1007,6 +1007,7 @@ namespace quicktype {
10071007 inline void from_json(const json & j, QuebrachineClass& x) {
10081008 if (!j.is_object()) throw std::runtime_error("Expected object");
10091009 x.catharticalness = j.at("catharticalness").get<double>();
1010+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
10101011 x.chirotherium = j.at("Chirotherium").get<int64_t>();
10111012 x.disdiapason = j.at("disdiapason").get<std::string>();
10121013 x.homocerc = j.at("homocerc").get<bool>();
@@ -1028,6 +1029,7 @@ namespace quicktype {
10281029 x.anabolin = get_untyped(j, "anabolin");
10291030 x.brainy = get_untyped(j, "brainy");
10301031 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1032+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
10311033 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
10321034 x.chrysamine = get_untyped(j, "chrysamine");
10331035 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
@@ -1230,6 +1232,7 @@ namespace quicktype {
12301232 x.bowgrace = get_untyped(j, "bowgrace");
12311233 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
12321234 x.centaurid = get_untyped(j, "Centaurid");
1235+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
12331236 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
12341237 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
12351238 x.flix = get_untyped(j, "flix");
@@ -1380,30 +1383,51 @@ namespace quicktype {
13801383
13811384 inline void from_json(const json & j, Staghunting& x) {
13821385 if (!j.is_object()) throw std::runtime_error("Expected object");
1386+ if (j.find("calorimetric") != j.end() && !j.at("calorimetric").is_number_integer()) throw std::runtime_error("Expected integer");
13831387 x.calorimetric = get_stack_optional<int64_t>(j, "calorimetric");
1388+ if (j.find("canid") != j.end() && !j.at("canid").is_number_integer()) throw std::runtime_error("Expected integer");
13841389 x.canid = get_stack_optional<int64_t>(j, "canid");
13851390 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1391+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
13861392 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
13871393 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
1394+ if (j.find("ditriglyphic") != j.end() && !j.at("ditriglyphic").is_number_integer()) throw std::runtime_error("Expected integer");
13881395 x.ditriglyphic = get_stack_optional<int64_t>(j, "ditriglyphic");
1396+ if (j.find("floriferousness") != j.end() && !j.at("floriferousness").is_number_integer()) throw std::runtime_error("Expected integer");
13891397 x.floriferousness = get_stack_optional<int64_t>(j, "floriferousness");
1398+ if (j.find("gamelike") != j.end() && !j.at("gamelike").is_number_integer()) throw std::runtime_error("Expected integer");
13901399 x.gamelike = get_stack_optional<int64_t>(j, "gamelike");
1400+ if (j.find("grig") != j.end() && !j.at("grig").is_number_integer()) throw std::runtime_error("Expected integer");
13911401 x.grig = get_stack_optional<int64_t>(j, "grig");
13921402 x.homocerc = get_stack_optional<bool>(j, "homocerc");
1403+ if (j.find("interloan") != j.end() && !j.at("interloan").is_number_integer()) throw std::runtime_error("Expected integer");
13931404 x.interloan = get_stack_optional<int64_t>(j, "interloan");
1405+ if (j.find("lithotomy") != j.end() && !j.at("lithotomy").is_number_integer()) throw std::runtime_error("Expected integer");
13941406 x.lithotomy = get_stack_optional<int64_t>(j, "lithotomy");
1407+ if (j.find("loric") != j.end() && !j.at("loric").is_number_integer()) throw std::runtime_error("Expected integer");
13951408 x.loric = get_stack_optional<int64_t>(j, "loric");
1409+ if (j.find("membranocoriaceous") != j.end() && !j.at("membranocoriaceous").is_number_integer()) throw std::runtime_error("Expected integer");
13961410 x.membranocoriaceous = get_stack_optional<int64_t>(j, "membranocoriaceous");
1411+ if (j.find("membranogenic") != j.end() && !j.at("membranogenic").is_number_integer()) throw std::runtime_error("Expected integer");
13971412 x.membranogenic = get_stack_optional<int64_t>(j, "membranogenic");
13981413 x.nonbookish = get_untyped(j, "nonbookish");
1414+ if (j.find("overtrump") != j.end() && !j.at("overtrump").is_number_integer()) throw std::runtime_error("Expected integer");
13991415 x.overtrump = get_stack_optional<int64_t>(j, "overtrump");
1416+ if (j.find("scotino") != j.end() && !j.at("scotino").is_number_integer()) throw std::runtime_error("Expected integer");
14001417 x.scotino = get_stack_optional<int64_t>(j, "scotino");
1418+ if (j.find("seasonable") != j.end() && !j.at("seasonable").is_number_integer()) throw std::runtime_error("Expected integer");
14011419 x.seasonable = get_stack_optional<int64_t>(j, "seasonable");
1420+ if (j.find("sephen") != j.end() && !j.at("sephen").is_number_integer()) throw std::runtime_error("Expected integer");
14021421 x.sephen = get_stack_optional<int64_t>(j, "sephen");
1422+ if (j.find("stigmarioid") != j.end() && !j.at("stigmarioid").is_number_integer()) throw std::runtime_error("Expected integer");
14031423 x.stigmarioid = get_stack_optional<int64_t>(j, "stigmarioid");
1424+ if (j.find("tired") != j.end() && !j.at("tired").is_number_integer()) throw std::runtime_error("Expected integer");
14041425 x.tired = get_stack_optional<int64_t>(j, "tired");
1426+ if (j.find("trifid") != j.end() && !j.at("trifid").is_number_integer()) throw std::runtime_error("Expected integer");
14051427 x.trifid = get_stack_optional<int64_t>(j, "trifid");
1428+ if (j.find("undefeatedly") != j.end() && !j.at("undefeatedly").is_number_integer()) throw std::runtime_error("Expected integer");
14061429 x.undefeatedly = get_stack_optional<int64_t>(j, "undefeatedly");
1430+ if (j.find("ungirlish") != j.end() && !j.at("ungirlish").is_number_integer()) throw std::runtime_error("Expected integer");
14071431 x.ungirlish = get_stack_optional<int64_t>(j, "ungirlish");
14081432 }
14091433
@@ -1438,30 +1462,51 @@ namespace quicktype {
14381462
14391463 inline void from_json(const json & j, StrenuosityClass& x) {
14401464 if (!j.is_object()) throw std::runtime_error("Expected object");
1465+ if (j.find("bliss") != j.end() && !j.at("bliss").is_number_integer()) throw std::runtime_error("Expected integer");
14411466 x.bliss = get_stack_optional<int64_t>(j, "bliss");
1467+ if (j.find("buccate") != j.end() && !j.at("buccate").is_number_integer()) throw std::runtime_error("Expected integer");
14421468 x.buccate = get_stack_optional<int64_t>(j, "buccate");
1469+ if (j.find("bulletproof") != j.end() && !j.at("bulletproof").is_number_integer()) throw std::runtime_error("Expected integer");
14431470 x.bulletproof = get_stack_optional<int64_t>(j, "bulletproof");
14441471 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1472+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
14451473 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
1474+ if (j.find("crumblingness") != j.end() && !j.at("crumblingness").is_number_integer()) throw std::runtime_error("Expected integer");
14461475 x.crumblingness = get_stack_optional<int64_t>(j, "crumblingness");
14471476 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
1477+ if (j.find("engagedly") != j.end() && !j.at("engagedly").is_number_integer()) throw std::runtime_error("Expected integer");
14481478 x.engagedly = get_stack_optional<int64_t>(j, "engagedly");
1479+ if (j.find("fightable") != j.end() && !j.at("fightable").is_number_integer()) throw std::runtime_error("Expected integer");
14491480 x.fightable = get_stack_optional<int64_t>(j, "fightable");
1481+ if (j.find("hoariness") != j.end() && !j.at("hoariness").is_number_integer()) throw std::runtime_error("Expected integer");
14501482 x.hoariness = get_stack_optional<int64_t>(j, "hoariness");
14511483 x.homocerc = get_stack_optional<bool>(j, "homocerc");
1484+ if (j.find("hypopodium") != j.end() && !j.at("hypopodium").is_number_integer()) throw std::runtime_error("Expected integer");
14521485 x.hypopodium = get_stack_optional<int64_t>(j, "hypopodium");
1486+ if (j.find("luxurist") != j.end() && !j.at("luxurist").is_number_integer()) throw std::runtime_error("Expected integer");
14531487 x.luxurist = get_stack_optional<int64_t>(j, "luxurist");
1488+ if (j.find("mechanician") != j.end() && !j.at("mechanician").is_number_integer()) throw std::runtime_error("Expected integer");
14541489 x.mechanician = get_stack_optional<int64_t>(j, "mechanician");
14551490 x.nonbookish = get_untyped(j, "nonbookish");
1491+ if (j.find("Onopordon") != j.end() && !j.at("Onopordon").is_number_integer()) throw std::runtime_error("Expected integer");
14561492 x.onopordon = get_stack_optional<int64_t>(j, "Onopordon");
1493+ if (j.find("podgily") != j.end() && !j.at("podgily").is_number_integer()) throw std::runtime_error("Expected integer");
14571494 x.podgily = get_stack_optional<int64_t>(j, "podgily");
1495+ if (j.find("reformableness") != j.end() && !j.at("reformableness").is_number_integer()) throw std::runtime_error("Expected integer");
14581496 x.reformableness = get_stack_optional<int64_t>(j, "reformableness");
1497+ if (j.find("scatterbrains") != j.end() && !j.at("scatterbrains").is_number_integer()) throw std::runtime_error("Expected integer");
14591498 x.scatterbrains = get_stack_optional<int64_t>(j, "scatterbrains");
1499+ if (j.find("seminuria") != j.end() && !j.at("seminuria").is_number_integer()) throw std::runtime_error("Expected integer");
14601500 x.seminuria = get_stack_optional<int64_t>(j, "seminuria");
1501+ if (j.find("Sodomite") != j.end() && !j.at("Sodomite").is_number_integer()) throw std::runtime_error("Expected integer");
14611502 x.sodomite = get_stack_optional<int64_t>(j, "Sodomite");
1503+ if (j.find("tramp") != j.end() && !j.at("tramp").is_number_integer()) throw std::runtime_error("Expected integer");
14621504 x.tramp = get_stack_optional<int64_t>(j, "tramp");
1505+ if (j.find("undueness") != j.end() && !j.at("undueness").is_number_integer()) throw std::runtime_error("Expected integer");
14631506 x.undueness = get_stack_optional<int64_t>(j, "undueness");
1507+ if (j.find("worthily") != j.end() && !j.at("worthily").is_number_integer()) throw std::runtime_error("Expected integer");
14641508 x.worthily = get_stack_optional<int64_t>(j, "worthily");
1509+ if (j.find("Yankeeist") != j.end() && !j.at("Yankeeist").is_number_integer()) throw std::runtime_error("Expected integer");
14651510 x.yankeeist = get_stack_optional<int64_t>(j, "Yankeeist");
14661511 }
14671512
@@ -1501,6 +1546,7 @@ namespace quicktype {
15011546 x.bungey = get_untyped(j, "bungey");
15021547 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
15031548 x.ceroxyle = get_untyped(j, "ceroxyle");
1549+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
15041550 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
15051551 x.chorology = get_untyped(j, "chorology");
15061552 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
@@ -1554,30 +1600,51 @@ namespace quicktype {
15541600
15551601 inline void from_json(const json & j, UnimpeachablyClass& x) {
15561602 if (!j.is_object()) throw std::runtime_error("Expected object");
1603+ if (j.find("acerin") != j.end() && !j.at("acerin").is_number_integer()) throw std::runtime_error("Expected integer");
15571604 x.acerin = get_stack_optional<int64_t>(j, "acerin");
1605+ if (j.find("Bobadil") != j.end() && !j.at("Bobadil").is_number_integer()) throw std::runtime_error("Expected integer");
15581606 x.bobadil = get_stack_optional<int64_t>(j, "Bobadil");
15591607 x.catharticalness = get_stack_optional<double>(j, "catharticalness");
1608+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
15601609 x.chirotherium = get_stack_optional<int64_t>(j, "Chirotherium");
1610+ if (j.find("chlorophylligenous") != j.end() && !j.at("chlorophylligenous").is_number_integer()) throw std::runtime_error("Expected integer");
15611611 x.chlorophylligenous = get_stack_optional<int64_t>(j, "chlorophylligenous");
1612+ if (j.find("conversational") != j.end() && !j.at("conversational").is_number_integer()) throw std::runtime_error("Expected integer");
15621613 x.conversational = get_stack_optional<int64_t>(j, "conversational");
1614+ if (j.find("demiowl") != j.end() && !j.at("demiowl").is_number_integer()) throw std::runtime_error("Expected integer");
15631615 x.demiowl = get_stack_optional<int64_t>(j, "demiowl");
15641616 x.disdiapason = get_stack_optional<std::string>(j, "disdiapason");
1617+ if (j.find("ectorhinal") != j.end() && !j.at("ectorhinal").is_number_integer()) throw std::runtime_error("Expected integer");
15651618 x.ectorhinal = get_stack_optional<int64_t>(j, "ectorhinal");
1619+ if (j.find("gamblesomeness") != j.end() && !j.at("gamblesomeness").is_number_integer()) throw std::runtime_error("Expected integer");
15661620 x.gamblesomeness = get_stack_optional<int64_t>(j, "gamblesomeness");
15671621 x.homocerc = get_stack_optional<bool>(j, "homocerc");
1622+ if (j.find("irrorate") != j.end() && !j.at("irrorate").is_number_integer()) throw std::runtime_error("Expected integer");
15681623 x.irrorate = get_stack_optional<int64_t>(j, "irrorate");
1624+ if (j.find("kindergartening") != j.end() && !j.at("kindergartening").is_number_integer()) throw std::runtime_error("Expected integer");
15691625 x.kindergartening = get_stack_optional<int64_t>(j, "kindergartening");
1626+ if (j.find("lateritic") != j.end() && !j.at("lateritic").is_number_integer()) throw std::runtime_error("Expected integer");
15701627 x.lateritic = get_stack_optional<int64_t>(j, "lateritic");
1628+ if (j.find("mespil") != j.end() && !j.at("mespil").is_number_integer()) throw std::runtime_error("Expected integer");
15711629 x.mespil = get_stack_optional<int64_t>(j, "mespil");
1630+ if (j.find("misconfiguration") != j.end() && !j.at("misconfiguration").is_number_integer()) throw std::runtime_error("Expected integer");
15721631 x.misconfiguration = get_stack_optional<int64_t>(j, "misconfiguration");
15731632 x.nonbookish = get_untyped(j, "nonbookish");
1633+ if (j.find("planometry") != j.end() && !j.at("planometry").is_number_integer()) throw std::runtime_error("Expected integer");
15741634 x.planometry = get_stack_optional<int64_t>(j, "planometry");
1635+ if (j.find("Quiina") != j.end() && !j.at("Quiina").is_number_integer()) throw std::runtime_error("Expected integer");
15751636 x.quiina = get_stack_optional<int64_t>(j, "Quiina");
1637+ if (j.find("Robert") != j.end() && !j.at("Robert").is_number_integer()) throw std::runtime_error("Expected integer");
15761638 x.robert = get_stack_optional<int64_t>(j, "Robert");
1639+ if (j.find("rot") != j.end() && !j.at("rot").is_number_integer()) throw std::runtime_error("Expected integer");
15771640 x.rot = get_stack_optional<int64_t>(j, "rot");
1641+ if (j.find("subcinctorium") != j.end() && !j.at("subcinctorium").is_number_integer()) throw std::runtime_error("Expected integer");
15781642 x.subcinctorium = get_stack_optional<int64_t>(j, "subcinctorium");
1643+ if (j.find("tussocker") != j.end() && !j.at("tussocker").is_number_integer()) throw std::runtime_error("Expected integer");
15791644 x.tussocker = get_stack_optional<int64_t>(j, "tussocker");
1645+ if (j.find("ultraproud") != j.end() && !j.at("ultraproud").is_number_integer()) throw std::runtime_error("Expected integer");
15801646 x.ultraproud = get_stack_optional<int64_t>(j, "ultraproud");
1647+ if (j.find("unsuggestedness") != j.end() && !j.at("unsuggestedness").is_number_integer()) throw std::runtime_error("Expected integer");
15811648 x.unsuggestedness = get_stack_optional<int64_t>(j, "unsuggestedness");
15821649 }
Mcplusplusconst-style-east-const--0048a2a7a881 / quicktype.hpp+67 −0
@@ -2661,6 +2661,7 @@ namespace quicktype {
26612661 inline void from_json(json const & j, QuebrachineClass& x) {
26622662 if (!j.is_object()) throw std::runtime_error("Expected object");
26632663 x.set_catharticalness(j.at("catharticalness").get<double>());
2664+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
26642665 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
26652666 x.set_disdiapason(j.at("disdiapason").get<std::string>());
26662667 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -2682,6 +2683,7 @@ namespace quicktype {
26822683 x.set_anabolin(get_untyped(j, "anabolin"));
26832684 x.set_brainy(get_untyped(j, "brainy"));
26842685 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2686+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
26852687 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
26862688 x.set_chrysamine(get_untyped(j, "chrysamine"));
26872689 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
@@ -2884,6 +2886,7 @@ namespace quicktype {
28842886 x.set_bowgrace(get_untyped(j, "bowgrace"));
28852887 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
28862888 x.set_centaurid(get_untyped(j, "Centaurid"));
2889+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
28872890 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
28882891 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
28892892 x.set_flix(get_untyped(j, "flix"));
@@ -3034,30 +3037,51 @@ namespace quicktype {
30343037
30353038 inline void from_json(json const & j, Staghunting& x) {
30363039 if (!j.is_object()) throw std::runtime_error("Expected object");
3040+ if (j.find("calorimetric") != j.end() && !j.at("calorimetric").is_number_integer()) throw std::runtime_error("Expected integer");
30373041 x.set_calorimetric(get_stack_optional<int64_t>(j, "calorimetric"));
3042+ if (j.find("canid") != j.end() && !j.at("canid").is_number_integer()) throw std::runtime_error("Expected integer");
30383043 x.set_canid(get_stack_optional<int64_t>(j, "canid"));
30393044 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
3045+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
30403046 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
30413047 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
3048+ if (j.find("ditriglyphic") != j.end() && !j.at("ditriglyphic").is_number_integer()) throw std::runtime_error("Expected integer");
30423049 x.set_ditriglyphic(get_stack_optional<int64_t>(j, "ditriglyphic"));
3050+ if (j.find("floriferousness") != j.end() && !j.at("floriferousness").is_number_integer()) throw std::runtime_error("Expected integer");
30433051 x.set_floriferousness(get_stack_optional<int64_t>(j, "floriferousness"));
3052+ if (j.find("gamelike") != j.end() && !j.at("gamelike").is_number_integer()) throw std::runtime_error("Expected integer");
30443053 x.set_gamelike(get_stack_optional<int64_t>(j, "gamelike"));
3054+ if (j.find("grig") != j.end() && !j.at("grig").is_number_integer()) throw std::runtime_error("Expected integer");
30453055 x.set_grig(get_stack_optional<int64_t>(j, "grig"));
30463056 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
3057+ if (j.find("interloan") != j.end() && !j.at("interloan").is_number_integer()) throw std::runtime_error("Expected integer");
30473058 x.set_interloan(get_stack_optional<int64_t>(j, "interloan"));
3059+ if (j.find("lithotomy") != j.end() && !j.at("lithotomy").is_number_integer()) throw std::runtime_error("Expected integer");
30483060 x.set_lithotomy(get_stack_optional<int64_t>(j, "lithotomy"));
3061+ if (j.find("loric") != j.end() && !j.at("loric").is_number_integer()) throw std::runtime_error("Expected integer");
30493062 x.set_loric(get_stack_optional<int64_t>(j, "loric"));
3063+ if (j.find("membranocoriaceous") != j.end() && !j.at("membranocoriaceous").is_number_integer()) throw std::runtime_error("Expected integer");
30503064 x.set_membranocoriaceous(get_stack_optional<int64_t>(j, "membranocoriaceous"));
3065+ if (j.find("membranogenic") != j.end() && !j.at("membranogenic").is_number_integer()) throw std::runtime_error("Expected integer");
30513066 x.set_membranogenic(get_stack_optional<int64_t>(j, "membranogenic"));
30523067 x.set_nonbookish(get_untyped(j, "nonbookish"));
3068+ if (j.find("overtrump") != j.end() && !j.at("overtrump").is_number_integer()) throw std::runtime_error("Expected integer");
30533069 x.set_overtrump(get_stack_optional<int64_t>(j, "overtrump"));
3070+ if (j.find("scotino") != j.end() && !j.at("scotino").is_number_integer()) throw std::runtime_error("Expected integer");
30543071 x.set_scotino(get_stack_optional<int64_t>(j, "scotino"));
3072+ if (j.find("seasonable") != j.end() && !j.at("seasonable").is_number_integer()) throw std::runtime_error("Expected integer");
30553073 x.set_seasonable(get_stack_optional<int64_t>(j, "seasonable"));
3074+ if (j.find("sephen") != j.end() && !j.at("sephen").is_number_integer()) throw std::runtime_error("Expected integer");
30563075 x.set_sephen(get_stack_optional<int64_t>(j, "sephen"));
3076+ if (j.find("stigmarioid") != j.end() && !j.at("stigmarioid").is_number_integer()) throw std::runtime_error("Expected integer");
30573077 x.set_stigmarioid(get_stack_optional<int64_t>(j, "stigmarioid"));
3078+ if (j.find("tired") != j.end() && !j.at("tired").is_number_integer()) throw std::runtime_error("Expected integer");
30583079 x.set_tired(get_stack_optional<int64_t>(j, "tired"));
3080+ if (j.find("trifid") != j.end() && !j.at("trifid").is_number_integer()) throw std::runtime_error("Expected integer");
30593081 x.set_trifid(get_stack_optional<int64_t>(j, "trifid"));
3082+ if (j.find("undefeatedly") != j.end() && !j.at("undefeatedly").is_number_integer()) throw std::runtime_error("Expected integer");
30603083 x.set_undefeatedly(get_stack_optional<int64_t>(j, "undefeatedly"));
3084+ if (j.find("ungirlish") != j.end() && !j.at("ungirlish").is_number_integer()) throw std::runtime_error("Expected integer");
30613085 x.set_ungirlish(get_stack_optional<int64_t>(j, "ungirlish"));
30623086 }
30633087
@@ -3092,30 +3116,51 @@ namespace quicktype {
30923116
30933117 inline void from_json(json const & j, StrenuosityClass& x) {
30943118 if (!j.is_object()) throw std::runtime_error("Expected object");
3119+ if (j.find("bliss") != j.end() && !j.at("bliss").is_number_integer()) throw std::runtime_error("Expected integer");
30953120 x.set_bliss(get_stack_optional<int64_t>(j, "bliss"));
3121+ if (j.find("buccate") != j.end() && !j.at("buccate").is_number_integer()) throw std::runtime_error("Expected integer");
30963122 x.set_buccate(get_stack_optional<int64_t>(j, "buccate"));
3123+ if (j.find("bulletproof") != j.end() && !j.at("bulletproof").is_number_integer()) throw std::runtime_error("Expected integer");
30973124 x.set_bulletproof(get_stack_optional<int64_t>(j, "bulletproof"));
30983125 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
3126+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
30993127 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
3128+ if (j.find("crumblingness") != j.end() && !j.at("crumblingness").is_number_integer()) throw std::runtime_error("Expected integer");
31003129 x.set_crumblingness(get_stack_optional<int64_t>(j, "crumblingness"));
31013130 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
3131+ if (j.find("engagedly") != j.end() && !j.at("engagedly").is_number_integer()) throw std::runtime_error("Expected integer");
31023132 x.set_engagedly(get_stack_optional<int64_t>(j, "engagedly"));
3133+ if (j.find("fightable") != j.end() && !j.at("fightable").is_number_integer()) throw std::runtime_error("Expected integer");
31033134 x.set_fightable(get_stack_optional<int64_t>(j, "fightable"));
3135+ if (j.find("hoariness") != j.end() && !j.at("hoariness").is_number_integer()) throw std::runtime_error("Expected integer");
31043136 x.set_hoariness(get_stack_optional<int64_t>(j, "hoariness"));
31053137 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
3138+ if (j.find("hypopodium") != j.end() && !j.at("hypopodium").is_number_integer()) throw std::runtime_error("Expected integer");
31063139 x.set_hypopodium(get_stack_optional<int64_t>(j, "hypopodium"));
3140+ if (j.find("luxurist") != j.end() && !j.at("luxurist").is_number_integer()) throw std::runtime_error("Expected integer");
31073141 x.set_luxurist(get_stack_optional<int64_t>(j, "luxurist"));
3142+ if (j.find("mechanician") != j.end() && !j.at("mechanician").is_number_integer()) throw std::runtime_error("Expected integer");
31083143 x.set_mechanician(get_stack_optional<int64_t>(j, "mechanician"));
31093144 x.set_nonbookish(get_untyped(j, "nonbookish"));
3145+ if (j.find("Onopordon") != j.end() && !j.at("Onopordon").is_number_integer()) throw std::runtime_error("Expected integer");
31103146 x.set_onopordon(get_stack_optional<int64_t>(j, "Onopordon"));
3147+ if (j.find("podgily") != j.end() && !j.at("podgily").is_number_integer()) throw std::runtime_error("Expected integer");
31113148 x.set_podgily(get_stack_optional<int64_t>(j, "podgily"));
3149+ if (j.find("reformableness") != j.end() && !j.at("reformableness").is_number_integer()) throw std::runtime_error("Expected integer");
31123150 x.set_reformableness(get_stack_optional<int64_t>(j, "reformableness"));
3151+ if (j.find("scatterbrains") != j.end() && !j.at("scatterbrains").is_number_integer()) throw std::runtime_error("Expected integer");
31133152 x.set_scatterbrains(get_stack_optional<int64_t>(j, "scatterbrains"));
3153+ if (j.find("seminuria") != j.end() && !j.at("seminuria").is_number_integer()) throw std::runtime_error("Expected integer");
31143154 x.set_seminuria(get_stack_optional<int64_t>(j, "seminuria"));
3155+ if (j.find("Sodomite") != j.end() && !j.at("Sodomite").is_number_integer()) throw std::runtime_error("Expected integer");
31153156 x.set_sodomite(get_stack_optional<int64_t>(j, "Sodomite"));
3157+ if (j.find("tramp") != j.end() && !j.at("tramp").is_number_integer()) throw std::runtime_error("Expected integer");
31163158 x.set_tramp(get_stack_optional<int64_t>(j, "tramp"));
3159+ if (j.find("undueness") != j.end() && !j.at("undueness").is_number_integer()) throw std::runtime_error("Expected integer");
31173160 x.set_undueness(get_stack_optional<int64_t>(j, "undueness"));
3161+ if (j.find("worthily") != j.end() && !j.at("worthily").is_number_integer()) throw std::runtime_error("Expected integer");
31183162 x.set_worthily(get_stack_optional<int64_t>(j, "worthily"));
3163+ if (j.find("Yankeeist") != j.end() && !j.at("Yankeeist").is_number_integer()) throw std::runtime_error("Expected integer");
31193164 x.set_yankeeist(get_stack_optional<int64_t>(j, "Yankeeist"));
31203165 }
31213166
@@ -3155,6 +3200,7 @@ namespace quicktype {
31553200 x.set_bungey(get_untyped(j, "bungey"));
31563201 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
31573202 x.set_ceroxyle(get_untyped(j, "ceroxyle"));
3203+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
31583204 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
31593205 x.set_chorology(get_untyped(j, "chorology"));
31603206 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
@@ -3208,30 +3254,51 @@ namespace quicktype {
32083254
32093255 inline void from_json(json const & j, UnimpeachablyClass& x) {
32103256 if (!j.is_object()) throw std::runtime_error("Expected object");
3257+ if (j.find("acerin") != j.end() && !j.at("acerin").is_number_integer()) throw std::runtime_error("Expected integer");
32113258 x.set_acerin(get_stack_optional<int64_t>(j, "acerin"));
3259+ if (j.find("Bobadil") != j.end() && !j.at("Bobadil").is_number_integer()) throw std::runtime_error("Expected integer");
32123260 x.set_bobadil(get_stack_optional<int64_t>(j, "Bobadil"));
32133261 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
3262+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
32143263 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
3264+ if (j.find("chlorophylligenous") != j.end() && !j.at("chlorophylligenous").is_number_integer()) throw std::runtime_error("Expected integer");
32153265 x.set_chlorophylligenous(get_stack_optional<int64_t>(j, "chlorophylligenous"));
3266+ if (j.find("conversational") != j.end() && !j.at("conversational").is_number_integer()) throw std::runtime_error("Expected integer");
32163267 x.set_conversational(get_stack_optional<int64_t>(j, "conversational"));
3268+ if (j.find("demiowl") != j.end() && !j.at("demiowl").is_number_integer()) throw std::runtime_error("Expected integer");
32173269 x.set_demiowl(get_stack_optional<int64_t>(j, "demiowl"));
32183270 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
3271+ if (j.find("ectorhinal") != j.end() && !j.at("ectorhinal").is_number_integer()) throw std::runtime_error("Expected integer");
32193272 x.set_ectorhinal(get_stack_optional<int64_t>(j, "ectorhinal"));
3273+ if (j.find("gamblesomeness") != j.end() && !j.at("gamblesomeness").is_number_integer()) throw std::runtime_error("Expected integer");
32203274 x.set_gamblesomeness(get_stack_optional<int64_t>(j, "gamblesomeness"));
32213275 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
3276+ if (j.find("irrorate") != j.end() && !j.at("irrorate").is_number_integer()) throw std::runtime_error("Expected integer");
32223277 x.set_irrorate(get_stack_optional<int64_t>(j, "irrorate"));
3278+ if (j.find("kindergartening") != j.end() && !j.at("kindergartening").is_number_integer()) throw std::runtime_error("Expected integer");
32233279 x.set_kindergartening(get_stack_optional<int64_t>(j, "kindergartening"));
3280+ if (j.find("lateritic") != j.end() && !j.at("lateritic").is_number_integer()) throw std::runtime_error("Expected integer");
32243281 x.set_lateritic(get_stack_optional<int64_t>(j, "lateritic"));
3282+ if (j.find("mespil") != j.end() && !j.at("mespil").is_number_integer()) throw std::runtime_error("Expected integer");
32253283 x.set_mespil(get_stack_optional<int64_t>(j, "mespil"));
3284+ if (j.find("misconfiguration") != j.end() && !j.at("misconfiguration").is_number_integer()) throw std::runtime_error("Expected integer");
32263285 x.set_misconfiguration(get_stack_optional<int64_t>(j, "misconfiguration"));
32273286 x.set_nonbookish(get_untyped(j, "nonbookish"));
3287+ if (j.find("planometry") != j.end() && !j.at("planometry").is_number_integer()) throw std::runtime_error("Expected integer");
32283288 x.set_planometry(get_stack_optional<int64_t>(j, "planometry"));
3289+ if (j.find("Quiina") != j.end() && !j.at("Quiina").is_number_integer()) throw std::runtime_error("Expected integer");
32293290 x.set_quiina(get_stack_optional<int64_t>(j, "Quiina"));
3291+ if (j.find("Robert") != j.end() && !j.at("Robert").is_number_integer()) throw std::runtime_error("Expected integer");
32303292 x.set_robert(get_stack_optional<int64_t>(j, "Robert"));
3293+ if (j.find("rot") != j.end() && !j.at("rot").is_number_integer()) throw std::runtime_error("Expected integer");
32313294 x.set_rot(get_stack_optional<int64_t>(j, "rot"));
3295+ if (j.find("subcinctorium") != j.end() && !j.at("subcinctorium").is_number_integer()) throw std::runtime_error("Expected integer");
32323296 x.set_subcinctorium(get_stack_optional<int64_t>(j, "subcinctorium"));
3297+ if (j.find("tussocker") != j.end() && !j.at("tussocker").is_number_integer()) throw std::runtime_error("Expected integer");
32333298 x.set_tussocker(get_stack_optional<int64_t>(j, "tussocker"));
3299+ if (j.find("ultraproud") != j.end() && !j.at("ultraproud").is_number_integer()) throw std::runtime_error("Expected integer");
32343300 x.set_ultraproud(get_stack_optional<int64_t>(j, "ultraproud"));
3301+ if (j.find("unsuggestedness") != j.end() && !j.at("unsuggestedness").is_number_integer()) throw std::runtime_error("Expected integer");
32353302 x.set_unsuggestedness(get_stack_optional<int64_t>(j, "unsuggestedness"));
32363303 }
Mcplusplusdefault / quicktype.hpp+67 −0
@@ -2661,6 +2661,7 @@ namespace quicktype {
26612661 inline void from_json(const json & j, QuebrachineClass& x) {
26622662 if (!j.is_object()) throw std::runtime_error("Expected object");
26632663 x.set_catharticalness(j.at("catharticalness").get<double>());
2664+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
26642665 x.set_chirotherium(j.at("Chirotherium").get<int64_t>());
26652666 x.set_disdiapason(j.at("disdiapason").get<std::string>());
26662667 x.set_homocerc(j.at("homocerc").get<bool>());
@@ -2682,6 +2683,7 @@ namespace quicktype {
26822683 x.set_anabolin(get_untyped(j, "anabolin"));
26832684 x.set_brainy(get_untyped(j, "brainy"));
26842685 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
2686+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
26852687 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
26862688 x.set_chrysamine(get_untyped(j, "chrysamine"));
26872689 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
@@ -2884,6 +2886,7 @@ namespace quicktype {
28842886 x.set_bowgrace(get_untyped(j, "bowgrace"));
28852887 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
28862888 x.set_centaurid(get_untyped(j, "Centaurid"));
2889+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
28872890 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
28882891 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
28892892 x.set_flix(get_untyped(j, "flix"));
@@ -3034,30 +3037,51 @@ namespace quicktype {
30343037
30353038 inline void from_json(const json & j, Staghunting& x) {
30363039 if (!j.is_object()) throw std::runtime_error("Expected object");
3040+ if (j.find("calorimetric") != j.end() && !j.at("calorimetric").is_number_integer()) throw std::runtime_error("Expected integer");
30373041 x.set_calorimetric(get_stack_optional<int64_t>(j, "calorimetric"));
3042+ if (j.find("canid") != j.end() && !j.at("canid").is_number_integer()) throw std::runtime_error("Expected integer");
30383043 x.set_canid(get_stack_optional<int64_t>(j, "canid"));
30393044 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
3045+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
30403046 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
30413047 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
3048+ if (j.find("ditriglyphic") != j.end() && !j.at("ditriglyphic").is_number_integer()) throw std::runtime_error("Expected integer");
30423049 x.set_ditriglyphic(get_stack_optional<int64_t>(j, "ditriglyphic"));
3050+ if (j.find("floriferousness") != j.end() && !j.at("floriferousness").is_number_integer()) throw std::runtime_error("Expected integer");
30433051 x.set_floriferousness(get_stack_optional<int64_t>(j, "floriferousness"));
3052+ if (j.find("gamelike") != j.end() && !j.at("gamelike").is_number_integer()) throw std::runtime_error("Expected integer");
30443053 x.set_gamelike(get_stack_optional<int64_t>(j, "gamelike"));
3054+ if (j.find("grig") != j.end() && !j.at("grig").is_number_integer()) throw std::runtime_error("Expected integer");
30453055 x.set_grig(get_stack_optional<int64_t>(j, "grig"));
30463056 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
3057+ if (j.find("interloan") != j.end() && !j.at("interloan").is_number_integer()) throw std::runtime_error("Expected integer");
30473058 x.set_interloan(get_stack_optional<int64_t>(j, "interloan"));
3059+ if (j.find("lithotomy") != j.end() && !j.at("lithotomy").is_number_integer()) throw std::runtime_error("Expected integer");
30483060 x.set_lithotomy(get_stack_optional<int64_t>(j, "lithotomy"));
3061+ if (j.find("loric") != j.end() && !j.at("loric").is_number_integer()) throw std::runtime_error("Expected integer");
30493062 x.set_loric(get_stack_optional<int64_t>(j, "loric"));
3063+ if (j.find("membranocoriaceous") != j.end() && !j.at("membranocoriaceous").is_number_integer()) throw std::runtime_error("Expected integer");
30503064 x.set_membranocoriaceous(get_stack_optional<int64_t>(j, "membranocoriaceous"));
3065+ if (j.find("membranogenic") != j.end() && !j.at("membranogenic").is_number_integer()) throw std::runtime_error("Expected integer");
30513066 x.set_membranogenic(get_stack_optional<int64_t>(j, "membranogenic"));
30523067 x.set_nonbookish(get_untyped(j, "nonbookish"));
3068+ if (j.find("overtrump") != j.end() && !j.at("overtrump").is_number_integer()) throw std::runtime_error("Expected integer");
30533069 x.set_overtrump(get_stack_optional<int64_t>(j, "overtrump"));
3070+ if (j.find("scotino") != j.end() && !j.at("scotino").is_number_integer()) throw std::runtime_error("Expected integer");
30543071 x.set_scotino(get_stack_optional<int64_t>(j, "scotino"));
3072+ if (j.find("seasonable") != j.end() && !j.at("seasonable").is_number_integer()) throw std::runtime_error("Expected integer");
30553073 x.set_seasonable(get_stack_optional<int64_t>(j, "seasonable"));
3074+ if (j.find("sephen") != j.end() && !j.at("sephen").is_number_integer()) throw std::runtime_error("Expected integer");
30563075 x.set_sephen(get_stack_optional<int64_t>(j, "sephen"));
3076+ if (j.find("stigmarioid") != j.end() && !j.at("stigmarioid").is_number_integer()) throw std::runtime_error("Expected integer");
30573077 x.set_stigmarioid(get_stack_optional<int64_t>(j, "stigmarioid"));
3078+ if (j.find("tired") != j.end() && !j.at("tired").is_number_integer()) throw std::runtime_error("Expected integer");
30583079 x.set_tired(get_stack_optional<int64_t>(j, "tired"));
3080+ if (j.find("trifid") != j.end() && !j.at("trifid").is_number_integer()) throw std::runtime_error("Expected integer");
30593081 x.set_trifid(get_stack_optional<int64_t>(j, "trifid"));
3082+ if (j.find("undefeatedly") != j.end() && !j.at("undefeatedly").is_number_integer()) throw std::runtime_error("Expected integer");
30603083 x.set_undefeatedly(get_stack_optional<int64_t>(j, "undefeatedly"));
3084+ if (j.find("ungirlish") != j.end() && !j.at("ungirlish").is_number_integer()) throw std::runtime_error("Expected integer");
30613085 x.set_ungirlish(get_stack_optional<int64_t>(j, "ungirlish"));
30623086 }
30633087
@@ -3092,30 +3116,51 @@ namespace quicktype {
30923116
30933117 inline void from_json(const json & j, StrenuosityClass& x) {
30943118 if (!j.is_object()) throw std::runtime_error("Expected object");
3119+ if (j.find("bliss") != j.end() && !j.at("bliss").is_number_integer()) throw std::runtime_error("Expected integer");
30953120 x.set_bliss(get_stack_optional<int64_t>(j, "bliss"));
3121+ if (j.find("buccate") != j.end() && !j.at("buccate").is_number_integer()) throw std::runtime_error("Expected integer");
30963122 x.set_buccate(get_stack_optional<int64_t>(j, "buccate"));
3123+ if (j.find("bulletproof") != j.end() && !j.at("bulletproof").is_number_integer()) throw std::runtime_error("Expected integer");
30973124 x.set_bulletproof(get_stack_optional<int64_t>(j, "bulletproof"));
30983125 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
3126+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
30993127 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
3128+ if (j.find("crumblingness") != j.end() && !j.at("crumblingness").is_number_integer()) throw std::runtime_error("Expected integer");
31003129 x.set_crumblingness(get_stack_optional<int64_t>(j, "crumblingness"));
31013130 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
3131+ if (j.find("engagedly") != j.end() && !j.at("engagedly").is_number_integer()) throw std::runtime_error("Expected integer");
31023132 x.set_engagedly(get_stack_optional<int64_t>(j, "engagedly"));
3133+ if (j.find("fightable") != j.end() && !j.at("fightable").is_number_integer()) throw std::runtime_error("Expected integer");
31033134 x.set_fightable(get_stack_optional<int64_t>(j, "fightable"));
3135+ if (j.find("hoariness") != j.end() && !j.at("hoariness").is_number_integer()) throw std::runtime_error("Expected integer");
31043136 x.set_hoariness(get_stack_optional<int64_t>(j, "hoariness"));
31053137 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
3138+ if (j.find("hypopodium") != j.end() && !j.at("hypopodium").is_number_integer()) throw std::runtime_error("Expected integer");
31063139 x.set_hypopodium(get_stack_optional<int64_t>(j, "hypopodium"));
3140+ if (j.find("luxurist") != j.end() && !j.at("luxurist").is_number_integer()) throw std::runtime_error("Expected integer");
31073141 x.set_luxurist(get_stack_optional<int64_t>(j, "luxurist"));
3142+ if (j.find("mechanician") != j.end() && !j.at("mechanician").is_number_integer()) throw std::runtime_error("Expected integer");
31083143 x.set_mechanician(get_stack_optional<int64_t>(j, "mechanician"));
31093144 x.set_nonbookish(get_untyped(j, "nonbookish"));
3145+ if (j.find("Onopordon") != j.end() && !j.at("Onopordon").is_number_integer()) throw std::runtime_error("Expected integer");
31103146 x.set_onopordon(get_stack_optional<int64_t>(j, "Onopordon"));
3147+ if (j.find("podgily") != j.end() && !j.at("podgily").is_number_integer()) throw std::runtime_error("Expected integer");
31113148 x.set_podgily(get_stack_optional<int64_t>(j, "podgily"));
3149+ if (j.find("reformableness") != j.end() && !j.at("reformableness").is_number_integer()) throw std::runtime_error("Expected integer");
31123150 x.set_reformableness(get_stack_optional<int64_t>(j, "reformableness"));
3151+ if (j.find("scatterbrains") != j.end() && !j.at("scatterbrains").is_number_integer()) throw std::runtime_error("Expected integer");
31133152 x.set_scatterbrains(get_stack_optional<int64_t>(j, "scatterbrains"));
3153+ if (j.find("seminuria") != j.end() && !j.at("seminuria").is_number_integer()) throw std::runtime_error("Expected integer");
31143154 x.set_seminuria(get_stack_optional<int64_t>(j, "seminuria"));
3155+ if (j.find("Sodomite") != j.end() && !j.at("Sodomite").is_number_integer()) throw std::runtime_error("Expected integer");
31153156 x.set_sodomite(get_stack_optional<int64_t>(j, "Sodomite"));
3157+ if (j.find("tramp") != j.end() && !j.at("tramp").is_number_integer()) throw std::runtime_error("Expected integer");
31163158 x.set_tramp(get_stack_optional<int64_t>(j, "tramp"));
3159+ if (j.find("undueness") != j.end() && !j.at("undueness").is_number_integer()) throw std::runtime_error("Expected integer");
31173160 x.set_undueness(get_stack_optional<int64_t>(j, "undueness"));
3161+ if (j.find("worthily") != j.end() && !j.at("worthily").is_number_integer()) throw std::runtime_error("Expected integer");
31183162 x.set_worthily(get_stack_optional<int64_t>(j, "worthily"));
3163+ if (j.find("Yankeeist") != j.end() && !j.at("Yankeeist").is_number_integer()) throw std::runtime_error("Expected integer");
31193164 x.set_yankeeist(get_stack_optional<int64_t>(j, "Yankeeist"));
31203165 }
31213166
@@ -3155,6 +3200,7 @@ namespace quicktype {
31553200 x.set_bungey(get_untyped(j, "bungey"));
31563201 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
31573202 x.set_ceroxyle(get_untyped(j, "ceroxyle"));
3203+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
31583204 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
31593205 x.set_chorology(get_untyped(j, "chorology"));
31603206 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
@@ -3208,30 +3254,51 @@ namespace quicktype {
32083254
32093255 inline void from_json(const json & j, UnimpeachablyClass& x) {
32103256 if (!j.is_object()) throw std::runtime_error("Expected object");
3257+ if (j.find("acerin") != j.end() && !j.at("acerin").is_number_integer()) throw std::runtime_error("Expected integer");
32113258 x.set_acerin(get_stack_optional<int64_t>(j, "acerin"));
3259+ if (j.find("Bobadil") != j.end() && !j.at("Bobadil").is_number_integer()) throw std::runtime_error("Expected integer");
32123260 x.set_bobadil(get_stack_optional<int64_t>(j, "Bobadil"));
32133261 x.set_catharticalness(get_stack_optional<double>(j, "catharticalness"));
3262+ if (j.find("Chirotherium") != j.end() && !j.at("Chirotherium").is_number_integer()) throw std::runtime_error("Expected integer");
32143263 x.set_chirotherium(get_stack_optional<int64_t>(j, "Chirotherium"));
3264+ if (j.find("chlorophylligenous") != j.end() && !j.at("chlorophylligenous").is_number_integer()) throw std::runtime_error("Expected integer");
32153265 x.set_chlorophylligenous(get_stack_optional<int64_t>(j, "chlorophylligenous"));
3266+ if (j.find("conversational") != j.end() && !j.at("conversational").is_number_integer()) throw std::runtime_error("Expected integer");
32163267 x.set_conversational(get_stack_optional<int64_t>(j, "conversational"));
3268+ if (j.find("demiowl") != j.end() && !j.at("demiowl").is_number_integer()) throw std::runtime_error("Expected integer");
32173269 x.set_demiowl(get_stack_optional<int64_t>(j, "demiowl"));
32183270 x.set_disdiapason(get_stack_optional<std::string>(j, "disdiapason"));
3271+ if (j.find("ectorhinal") != j.end() && !j.at("ectorhinal").is_number_integer()) throw std::runtime_error("Expected integer");
32193272 x.set_ectorhinal(get_stack_optional<int64_t>(j, "ectorhinal"));
3273+ if (j.find("gamblesomeness") != j.end() && !j.at("gamblesomeness").is_number_integer()) throw std::runtime_error("Expected integer");
32203274 x.set_gamblesomeness(get_stack_optional<int64_t>(j, "gamblesomeness"));
32213275 x.set_homocerc(get_stack_optional<bool>(j, "homocerc"));
3276+ if (j.find("irrorate") != j.end() && !j.at("irrorate").is_number_integer()) throw std::runtime_error("Expected integer");
32223277 x.set_irrorate(get_stack_optional<int64_t>(j, "irrorate"));
3278+ if (j.find("kindergartening") != j.end() && !j.at("kindergartening").is_number_integer()) throw std::runtime_error("Expected integer");
32233279 x.set_kindergartening(get_stack_optional<int64_t>(j, "kindergartening"));
3280+ if (j.find("lateritic") != j.end() && !j.at("lateritic").is_number_integer()) throw std::runtime_error("Expected integer");
32243281 x.set_lateritic(get_stack_optional<int64_t>(j, "lateritic"));
3282+ if (j.find("mespil") != j.end() && !j.at("mespil").is_number_integer()) throw std::runtime_error("Expected integer");
32253283 x.set_mespil(get_stack_optional<int64_t>(j, "mespil"));
3284+ if (j.find("misconfiguration") != j.end() && !j.at("misconfiguration").is_number_integer()) throw std::runtime_error("Expected integer");
32263285 x.set_misconfiguration(get_stack_optional<int64_t>(j, "misconfiguration"));
32273286 x.set_nonbookish(get_untyped(j, "nonbookish"));
3287+ if (j.find("planometry") != j.end() && !j.at("planometry").is_number_integer()) throw std::runtime_error("Expected integer");
32283288 x.set_planometry(get_stack_optional<int64_t>(j, "planometry"));
3289+ if (j.find("Quiina") != j.end() && !j.at("Quiina").is_number_integer()) throw std::runtime_error("Expected integer");
32293290 x.set_quiina(get_stack_optional<int64_t>(j, "Quiina"));
3291+ if (j.find("Robert") != j.end() && !j.at("Robert").is_number_integer()) throw std::runtime_error("Expected integer");
32303292 x.set_robert(get_stack_optional<int64_t>(j, "Robert"));
3293+ if (j.find("rot") != j.end() && !j.at("rot").is_number_integer()) throw std::runtime_error("Expected integer");
32313294 x.set_rot(get_stack_optional<int64_t>(j, "rot"));
3295+ if (j.find("subcinctorium") != j.end() && !j.at("subcinctorium").is_number_integer()) throw std::runtime_error("Expected integer");
32323296 x.set_subcinctorium(get_stack_optional<int64_t>(j, "subcinctorium"));
3297+ if (j.find("tussocker") != j.end() && !j.at("tussocker").is_number_integer()) throw std::runtime_error("Expected integer");
32333298 x.set_tussocker(get_stack_optional<int64_t>(j, "tussocker"));
3299+ if (j.find("ultraproud") != j.end() && !j.at("ultraproud").is_number_integer()) throw std::runtime_error("Expected integer");
32343300 x.set_ultraproud(get_stack_optional<int64_t>(j, "ultraproud"));
3301+ if (j.find("unsuggestedness") != j.end() && !j.at("unsuggestedness").is_number_integer()) throw std::runtime_error("Expected integer");
32353302 x.set_unsuggestedness(get_stack_optional<int64_t>(j, "unsuggestedness"));
32363303 }
Test case

test/inputs/json/priority/direct-recursive.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -131,6 +131,7 @@ namespace quicktype {
131131 if (!j.is_object()) throw std::runtime_error("Expected object");
132132 x.set_also(get_heap_optional<TopLevel>(j, "also"));
133133 x.set_bar(j.at("bar").get<bool>());
134+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
134135 x.set_foo(j.at("foo").get<int64_t>());
135136 x.set_moo(j.at("moo").get<double>());
136137 x.set_quux(j.at("quux").get<std::string>());
Test case

test/inputs/json/priority/identifiers.json

1 generated file · +8 −0
Mcplusplusdefault / quicktype.hpp+8 −0
@@ -190,6 +190,7 @@ namespace quicktype {
190190
191191 inline void from_json(const json & j, TopLevelBla& x) {
192192 if (!j.is_object()) throw std::runtime_error("Expected object");
193+ if (j.find("bar") != j.end() && !j.at("bar").is_number_integer()) throw std::runtime_error("Expected integer");
193194 x.set_bar(j.at("bar").get<int64_t>());
194195 }
195196
@@ -200,6 +201,7 @@ namespace quicktype {
200201
201202 inline void from_json(const json & j, Empty& x) {
202203 if (!j.is_object()) throw std::runtime_error("Expected object");
204+ if (j.find("x") != j.end() && !j.at("x").is_number_integer()) throw std::runtime_error("Expected integer");
203205 x.set_x(j.at("x").get<int64_t>());
204206 }
205207
@@ -222,7 +224,9 @@ namespace quicktype {
222224 inline void from_json(const json & j, Foo& x) {
223225 if (!j.is_object()) throw std::runtime_error("Expected object");
224226 x.set_bla(j.at("bla").get<FooBla>());
227+ if (j.find("_") != j.end() && !j.at("_").is_number_integer()) throw std::runtime_error("Expected integer");
225228 x.set_empty(j.at("_").get<int64_t>());
229+ if (j.find("__") != j.end() && !j.at("__").is_number_integer()) throw std::runtime_error("Expected integer");
226230 x.set_foo(j.at("__").get<int64_t>());
227231 }
228232
@@ -235,7 +239,9 @@ namespace quicktype {
235239
236240 inline void from_json(const json & j, ThisIsAToughOne& x) {
237241 if (!j.is_object()) throw std::runtime_error("Expected object");
242+ if (j.find("\n\n\n") != j.end() && !j.at("\n\n\n").is_number_integer()) throw std::runtime_error("Expected integer");
238243 x.set_empty(j.at("\n\n\n").get<int64_t>());
244+ if (j.find("\"") != j.end() && !j.at("\"").is_number_integer()) throw std::runtime_error("Expected integer");
239245 x.set_this_is_a_tough_one(j.at("\"").get<int64_t>());
240246 }
241247
@@ -247,6 +253,7 @@ namespace quicktype {
247253
248254 inline void from_json(const json & j, EmptyClass& x) {
249255 if (!j.is_object()) throw std::runtime_error("Expected object");
256+ if (j.find("y") != j.end() && !j.at("y").is_number_integer()) throw std::runtime_error("Expected integer");
250257 x.set_y(j.at("y").get<int64_t>());
251258 }
252259
@@ -261,6 +268,7 @@ namespace quicktype {
261268 x.set_empty(j.at("").get<Empty>());
262269 x.set_foo(j.at("foo").get<Foo>());
263270 x.set_this_is_a_tough_one(j.at("ThisIsA\U0001f61cTough\"\n\nOne").get<ThisIsAToughOne>());
271+ if (j.find("!") != j.end() && !j.at("!").is_number_integer()) throw std::runtime_error("Expected integer");
264272 x.set_top_level(j.at("!").get<int64_t>());
265273 x.set_top_level_empty(j.at("Empty").get<EmptyClass>());
266274 }
Test case

test/inputs/json/priority/keywords.json

1 generated file · +285 −0
Mcplusplusdefault / quicktype.hpp+285 −0
@@ -6300,6 +6300,7 @@ namespace quicktype {
63006300
63016301 inline void from_json(const json & j, Abstract& x) {
63026302 if (!j.is_object()) throw std::runtime_error("Expected object");
6303+ if (j.find("abstract") != j.end() && !j.at("abstract").is_number_integer()) throw std::runtime_error("Expected integer");
63036304 x.set_abstract(j.at("abstract").get<int64_t>());
63046305 }
63056306
@@ -6310,6 +6311,7 @@ namespace quicktype {
63106311
63116312 inline void from_json(const json & j, Any& x) {
63126313 if (!j.is_object()) throw std::runtime_error("Expected object");
6314+ if (j.find("Any") != j.end() && !j.at("Any").is_number_integer()) throw std::runtime_error("Expected integer");
63136315 x.set_any(j.at("Any").get<int64_t>());
63146316 }
63156317
@@ -6320,6 +6322,7 @@ namespace quicktype {
63206322
63216323 inline void from_json(const json & j, Array& x) {
63226324 if (!j.is_object()) throw std::runtime_error("Expected object");
6325+ if (j.find("array") != j.end() && !j.at("array").is_number_integer()) throw std::runtime_error("Expected integer");
63236326 x.set_array(j.at("array").get<int64_t>());
63246327 }
63256328
@@ -6330,6 +6333,7 @@ namespace quicktype {
63306333
63316334 inline void from_json(const json & j, As& x) {
63326335 if (!j.is_object()) throw std::runtime_error("Expected object");
6336+ if (j.find("as") != j.end() && !j.at("as").is_number_integer()) throw std::runtime_error("Expected integer");
63336337 x.set_as(j.at("as").get<int64_t>());
63346338 }
63356339
@@ -6340,6 +6344,7 @@ namespace quicktype {
63406344
63416345 inline void from_json(const json & j, Assert& x) {
63426346 if (!j.is_object()) throw std::runtime_error("Expected object");
6347+ if (j.find("assert") != j.end() && !j.at("assert").is_number_integer()) throw std::runtime_error("Expected integer");
63436348 x.set_assert(j.at("assert").get<int64_t>());
63446349 }
63456350
@@ -6350,6 +6355,7 @@ namespace quicktype {
63506355
63516356 inline void from_json(const json & j, Associatedtype& x) {
63526357 if (!j.is_object()) throw std::runtime_error("Expected object");
6358+ if (j.find("associatedtype") != j.end() && !j.at("associatedtype").is_number_integer()) throw std::runtime_error("Expected integer");
63536359 x.set_associatedtype(j.at("associatedtype").get<int64_t>());
63546360 }
63556361
@@ -6360,6 +6366,7 @@ namespace quicktype {
63606366
63616367 inline void from_json(const json & j, Associativity& x) {
63626368 if (!j.is_object()) throw std::runtime_error("Expected object");
6369+ if (j.find("associativity") != j.end() && !j.at("associativity").is_number_integer()) throw std::runtime_error("Expected integer");
63636370 x.set_associativity(j.at("associativity").get<int64_t>());
63646371 }
63656372
@@ -6370,6 +6377,7 @@ namespace quicktype {
63706377
63716378 inline void from_json(const json & j, Async& x) {
63726379 if (!j.is_object()) throw std::runtime_error("Expected object");
6380+ if (j.find("async") != j.end() && !j.at("async").is_number_integer()) throw std::runtime_error("Expected integer");
63736381 x.set_async(j.at("async").get<int64_t>());
63746382 }
63756383
@@ -6380,6 +6388,7 @@ namespace quicktype {
63806388
63816389 inline void from_json(const json & j, Atomic& x) {
63826390 if (!j.is_object()) throw std::runtime_error("Expected object");
6391+ if (j.find("atomic") != j.end() && !j.at("atomic").is_number_integer()) throw std::runtime_error("Expected integer");
63836392 x.set_atomic(j.at("atomic").get<int64_t>());
63846393 }
63856394
@@ -6390,6 +6399,7 @@ namespace quicktype {
63906399
63916400 inline void from_json(const json & j, Await& x) {
63926401 if (!j.is_object()) throw std::runtime_error("Expected object");
6402+ if (j.find("await") != j.end() && !j.at("await").is_number_integer()) throw std::runtime_error("Expected integer");
63936403 x.set_await(j.at("await").get<int64_t>());
63946404 }
63956405
@@ -6400,6 +6410,7 @@ namespace quicktype {
64006410
64016411 inline void from_json(const json & j, Base& x) {
64026412 if (!j.is_object()) throw std::runtime_error("Expected object");
6413+ if (j.find("base") != j.end() && !j.at("base").is_number_integer()) throw std::runtime_error("Expected integer");
64036414 x.set_base(j.at("base").get<int64_t>());
64046415 }
64056416
@@ -6410,6 +6421,7 @@ namespace quicktype {
64106421
64116422 inline void from_json(const json & j, Boolean& x) {
64126423 if (!j.is_object()) throw std::runtime_error("Expected object");
6424+ if (j.find("boolean") != j.end() && !j.at("boolean").is_number_integer()) throw std::runtime_error("Expected integer");
64136425 x.set_boolean(j.at("boolean").get<int64_t>());
64146426 }
64156427
@@ -6420,6 +6432,7 @@ namespace quicktype {
64206432
64216433 inline void from_json(const json & j, Bycopy& x) {
64226434 if (!j.is_object()) throw std::runtime_error("Expected object");
6435+ if (j.find("bycopy") != j.end() && !j.at("bycopy").is_number_integer()) throw std::runtime_error("Expected integer");
64236436 x.set_bycopy(j.at("bycopy").get<int64_t>());
64246437 }
64256438
@@ -6430,6 +6443,7 @@ namespace quicktype {
64306443
64316444 inline void from_json(const json & j, Byref& x) {
64326445 if (!j.is_object()) throw std::runtime_error("Expected object");
6446+ if (j.find("byref") != j.end() && !j.at("byref").is_number_integer()) throw std::runtime_error("Expected integer");
64336447 x.set_byref(j.at("byref").get<int64_t>());
64346448 }
64356449
@@ -6440,6 +6454,7 @@ namespace quicktype {
64406454
64416455 inline void from_json(const json & j, Byte& x) {
64426456 if (!j.is_object()) throw std::runtime_error("Expected object");
6457+ if (j.find("byte") != j.end() && !j.at("byte").is_number_integer()) throw std::runtime_error("Expected integer");
64436458 x.set_byte(j.at("byte").get<int64_t>());
64446459 }
64456460
@@ -6450,6 +6465,7 @@ namespace quicktype {
64506465
64516466 inline void from_json(const json & j, Chan& x) {
64526467 if (!j.is_object()) throw std::runtime_error("Expected object");
6468+ if (j.find("chan") != j.end() && !j.at("chan").is_number_integer()) throw std::runtime_error("Expected integer");
64536469 x.set_chan(j.at("chan").get<int64_t>());
64546470 }
64556471
@@ -6460,6 +6476,7 @@ namespace quicktype {
64606476
64616477 inline void from_json(const json & j, Checked& x) {
64626478 if (!j.is_object()) throw std::runtime_error("Expected object");
6479+ if (j.find("checked") != j.end() && !j.at("checked").is_number_integer()) throw std::runtime_error("Expected integer");
64636480 x.set_checked(j.at("checked").get<int64_t>());
64646481 }
64656482
@@ -6470,6 +6487,7 @@ namespace quicktype {
64706487
64716488 inline void from_json(const json & j, Clone& x) {
64726489 if (!j.is_object()) throw std::runtime_error("Expected object");
6490+ if (j.find("clone") != j.end() && !j.at("clone").is_number_integer()) throw std::runtime_error("Expected integer");
64736491 x.set_clone(j.at("clone").get<int64_t>());
64746492 }
64756493
@@ -6480,6 +6498,7 @@ namespace quicktype {
64806498
64816499 inline void from_json(const json & j, Complex& x) {
64826500 if (!j.is_object()) throw std::runtime_error("Expected object");
6501+ if (j.find("_Complex") != j.end() && !j.at("_Complex").is_number_integer()) throw std::runtime_error("Expected integer");
64836502 x.set_complex(j.at("_Complex").get<int64_t>());
64846503 }
64856504
@@ -6490,6 +6509,7 @@ namespace quicktype {
64906509
64916510 inline void from_json(const json & j, Console& x) {
64926511 if (!j.is_object()) throw std::runtime_error("Expected object");
6512+ if (j.find("console") != j.end() && !j.at("console").is_number_integer()) throw std::runtime_error("Expected integer");
64936513 x.set_console(j.at("console").get<int64_t>());
64946514 }
64956515
@@ -6500,6 +6520,7 @@ namespace quicktype {
65006520
65016521 inline void from_json(const json & j, Constructor& x) {
65026522 if (!j.is_object()) throw std::runtime_error("Expected object");
6523+ if (j.find("constructor") != j.end() && !j.at("constructor").is_number_integer()) throw std::runtime_error("Expected integer");
65036524 x.set_constructor(j.at("constructor").get<int64_t>());
65046525 }
65056526
@@ -6510,6 +6531,7 @@ namespace quicktype {
65106531
65116532 inline void from_json(const json & j, Convenience& x) {
65126533 if (!j.is_object()) throw std::runtime_error("Expected object");
6534+ if (j.find("convenience") != j.end() && !j.at("convenience").is_number_integer()) throw std::runtime_error("Expected integer");
65136535 x.set_convenience(j.at("convenience").get<int64_t>());
65146536 }
65156537
@@ -6520,6 +6542,7 @@ namespace quicktype {
65206542
65216543 inline void from_json(const json & j, Convert& x) {
65226544 if (!j.is_object()) throw std::runtime_error("Expected object");
6545+ if (j.find("convert") != j.end() && !j.at("convert").is_number_integer()) throw std::runtime_error("Expected integer");
65236546 x.set_convert(j.at("convert").get<int64_t>());
65246547 }
65256548
@@ -6530,6 +6553,7 @@ namespace quicktype {
65306553
65316554 inline void from_json(const json & j, Converter& x) {
65326555 if (!j.is_object()) throw std::runtime_error("Expected object");
6556+ if (j.find("converter") != j.end() && !j.at("converter").is_number_integer()) throw std::runtime_error("Expected integer");
65336557 x.set_converter(j.at("converter").get<int64_t>());
65346558 }
65356559
@@ -6540,6 +6564,7 @@ namespace quicktype {
65406564
65416565 inline void from_json(const json & j, Date& x) {
65426566 if (!j.is_object()) throw std::runtime_error("Expected object");
6567+ if (j.find("date") != j.end() && !j.at("date").is_number_integer()) throw std::runtime_error("Expected integer");
65436568 x.set_date(j.at("date").get<int64_t>());
65446569 }
65456570
@@ -6550,6 +6575,7 @@ namespace quicktype {
65506575
65516576 inline void from_json(const json & j, DateParseHandling& x) {
65526577 if (!j.is_object()) throw std::runtime_error("Expected object");
6578+ if (j.find("date_parse_handling") != j.end() && !j.at("date_parse_handling").is_number_integer()) throw std::runtime_error("Expected integer");
65536579 x.set_date_parse_handling(j.at("date_parse_handling").get<int64_t>());
65546580 }
65556581
@@ -6560,6 +6586,7 @@ namespace quicktype {
65606586
65616587 inline void from_json(const json & j, Debugger& x) {
65626588 if (!j.is_object()) throw std::runtime_error("Expected object");
6589+ if (j.find("debugger") != j.end() && !j.at("debugger").is_number_integer()) throw std::runtime_error("Expected integer");
65636590 x.set_debugger(j.at("debugger").get<int64_t>());
65646591 }
65656592
@@ -6570,6 +6597,7 @@ namespace quicktype {
65706597
65716598 inline void from_json(const json & j, Decimal& x) {
65726599 if (!j.is_object()) throw std::runtime_error("Expected object");
6600+ if (j.find("decimal") != j.end() && !j.at("decimal").is_number_integer()) throw std::runtime_error("Expected integer");
65736601 x.set_decimal(j.at("decimal").get<int64_t>());
65746602 }
65756603
@@ -6580,6 +6608,7 @@ namespace quicktype {
65806608
65816609 inline void from_json(const json & j, Declare& x) {
65826610 if (!j.is_object()) throw std::runtime_error("Expected object");
6611+ if (j.find("declare") != j.end() && !j.at("declare").is_number_integer()) throw std::runtime_error("Expected integer");
65836612 x.set_declare(j.at("declare").get<int64_t>());
65846613 }
65856614
@@ -6590,6 +6619,7 @@ namespace quicktype {
65906619
65916620 inline void from_json(const json & j, DecodeString& x) {
65926621 if (!j.is_object()) throw std::runtime_error("Expected object");
6622+ if (j.find("decode_string") != j.end() && !j.at("decode_string").is_number_integer()) throw std::runtime_error("Expected integer");
65936623 x.set_decode_string(j.at("decode_string").get<int64_t>());
65946624 }
65956625
@@ -6600,6 +6630,7 @@ namespace quicktype {
66006630
66016631 inline void from_json(const json & j, Empty& x) {
66026632 if (!j.is_object()) throw std::runtime_error("Expected object");
6633+ if (j.find("_") != j.end() && !j.at("_").is_number_integer()) throw std::runtime_error("Expected integer");
66036634 x.set_empty(j.at("_").get<int64_t>());
66046635 }
66056636
@@ -6610,6 +6641,7 @@ namespace quicktype {
66106641
66116642 inline void from_json(const json & j, Obj1Bool& x) {
66126643 if (!j.is_object()) throw std::runtime_error("Expected object");
6644+ if (j.find("bool") != j.end() && !j.at("bool").is_number_integer()) throw std::runtime_error("Expected integer");
66136645 x.set_bool_bool(j.at("bool").get<int64_t>());
66146646 }
66156647
@@ -6620,6 +6652,7 @@ namespace quicktype {
66206652
66216653 inline void from_json(const json & j, Imaginery& x) {
66226654 if (!j.is_object()) throw std::runtime_error("Expected object");
6655+ if (j.find("_Imaginery") != j.end() && !j.at("_Imaginery").is_number_integer()) throw std::runtime_error("Expected integer");
66236656 x.set_imaginery(j.at("_Imaginery").get<int64_t>());
66246657 }
66256658
@@ -6630,6 +6663,7 @@ namespace quicktype {
66306663
66316664 inline void from_json(const json & j, Alignas& x) {
66326665 if (!j.is_object()) throw std::runtime_error("Expected object");
6666+ if (j.find("alignas") != j.end() && !j.at("alignas").is_number_integer()) throw std::runtime_error("Expected integer");
66336667 x.set_alignas_alignas(j.at("alignas").get<int64_t>());
66346668 }
66356669
@@ -6640,6 +6674,7 @@ namespace quicktype {
66406674
66416675 inline void from_json(const json & j, Alignof& x) {
66426676 if (!j.is_object()) throw std::runtime_error("Expected object");
6677+ if (j.find("alignof") != j.end() && !j.at("alignof").is_number_integer()) throw std::runtime_error("Expected integer");
66436678 x.set_alignof_alignof(j.at("alignof").get<int64_t>());
66446679 }
66456680
@@ -6650,6 +6685,7 @@ namespace quicktype {
66506685
66516686 inline void from_json(const json & j, And& x) {
66526687 if (!j.is_object()) throw std::runtime_error("Expected object");
6688+ if (j.find("and") != j.end() && !j.at("and").is_number_integer()) throw std::runtime_error("Expected integer");
66536689 x.set_and_and(j.at("and").get<int64_t>());
66546690 }
66556691
@@ -6660,6 +6696,7 @@ namespace quicktype {
66606696
66616697 inline void from_json(const json & j, AndEq& x) {
66626698 if (!j.is_object()) throw std::runtime_error("Expected object");
6699+ if (j.find("and_eq") != j.end() && !j.at("and_eq").is_number_integer()) throw std::runtime_error("Expected integer");
66636700 x.set_and_eq_and_eq(j.at("and_eq").get<int64_t>());
66646701 }
66656702
@@ -6670,6 +6707,7 @@ namespace quicktype {
66706707
66716708 inline void from_json(const json & j, AnyClass& x) {
66726709 if (!j.is_object()) throw std::runtime_error("Expected object");
6710+ if (j.find("any") != j.end() && !j.at("any").is_number_integer()) throw std::runtime_error("Expected integer");
66736711 x.set_any(j.at("any").get<int64_t>());
66746712 }
66756713
@@ -6680,6 +6718,7 @@ namespace quicktype {
66806718
66816719 inline void from_json(const json & j, Asm& x) {
66826720 if (!j.is_object()) throw std::runtime_error("Expected object");
6721+ if (j.find("asm") != j.end() && !j.at("asm").is_number_integer()) throw std::runtime_error("Expected integer");
66836722 x.set_asm_asm(j.at("asm").get<int64_t>());
66846723 }
66856724
@@ -6690,6 +6729,7 @@ namespace quicktype {
66906729
66916730 inline void from_json(const json & j, AtomicCancel& x) {
66926731 if (!j.is_object()) throw std::runtime_error("Expected object");
6732+ if (j.find("atomic_cancel") != j.end() && !j.at("atomic_cancel").is_number_integer()) throw std::runtime_error("Expected integer");
66936733 x.set_atomic_cancel_atomic_cancel(j.at("atomic_cancel").get<int64_t>());
66946734 }
66956735
@@ -6700,6 +6740,7 @@ namespace quicktype {
67006740
67016741 inline void from_json(const json & j, AtomicCommit& x) {
67026742 if (!j.is_object()) throw std::runtime_error("Expected object");
6743+ if (j.find("atomic_commit") != j.end() && !j.at("atomic_commit").is_number_integer()) throw std::runtime_error("Expected integer");
67036744 x.set_atomic_commit_atomic_commit(j.at("atomic_commit").get<int64_t>());
67046745 }
67056746
@@ -6710,6 +6751,7 @@ namespace quicktype {
67106751
67116752 inline void from_json(const json & j, AtomicNoexcept& x) {
67126753 if (!j.is_object()) throw std::runtime_error("Expected object");
6754+ if (j.find("atomic_noexcept") != j.end() && !j.at("atomic_noexcept").is_number_integer()) throw std::runtime_error("Expected integer");
67136755 x.set_atomic_noexcept_atomic_noexcept(j.at("atomic_noexcept").get<int64_t>());
67146756 }
67156757
@@ -6720,6 +6762,7 @@ namespace quicktype {
67206762
67216763 inline void from_json(const json & j, Auto& x) {
67226764 if (!j.is_object()) throw std::runtime_error("Expected object");
6765+ if (j.find("auto") != j.end() && !j.at("auto").is_number_integer()) throw std::runtime_error("Expected integer");
67236766 x.set_auto_auto(j.at("auto").get<int64_t>());
67246767 }
67256768
@@ -6730,6 +6773,7 @@ namespace quicktype {
67306773
67316774 inline void from_json(const json & j, Bitand& x) {
67326775 if (!j.is_object()) throw std::runtime_error("Expected object");
6776+ if (j.find("bitand") != j.end() && !j.at("bitand").is_number_integer()) throw std::runtime_error("Expected integer");
67336777 x.set_bitand_bitand(j.at("bitand").get<int64_t>());
67346778 }
67356779
@@ -6740,6 +6784,7 @@ namespace quicktype {
67406784
67416785 inline void from_json(const json & j, Bitor& x) {
67426786 if (!j.is_object()) throw std::runtime_error("Expected object");
6787+ if (j.find("bitor") != j.end() && !j.at("bitor").is_number_integer()) throw std::runtime_error("Expected integer");
67436788 x.set_bitor_bitor(j.at("bitor").get<int64_t>());
67446789 }
67456790
@@ -6750,6 +6795,7 @@ namespace quicktype {
67506795
67516796 inline void from_json(const json & j, Bool& x) {
67526797 if (!j.is_object()) throw std::runtime_error("Expected object");
6798+ if (j.find("BOOL") != j.end() && !j.at("BOOL").is_number_integer()) throw std::runtime_error("Expected integer");
67536799 x.set_bool_bool(j.at("BOOL").get<int64_t>());
67546800 }
67556801
@@ -6760,6 +6806,7 @@ namespace quicktype {
67606806
67616807 inline void from_json(const json & j, Break& x) {
67626808 if (!j.is_object()) throw std::runtime_error("Expected object");
6809+ if (j.find("break") != j.end() && !j.at("break").is_number_integer()) throw std::runtime_error("Expected integer");
67636810 x.set_break_break(j.at("break").get<int64_t>());
67646811 }
67656812
@@ -6770,6 +6817,7 @@ namespace quicktype {
67706817
67716818 inline void from_json(const json & j, Case& x) {
67726819 if (!j.is_object()) throw std::runtime_error("Expected object");
6820+ if (j.find("case") != j.end() && !j.at("case").is_number_integer()) throw std::runtime_error("Expected integer");
67736821 x.set_case_case(j.at("case").get<int64_t>());
67746822 }
67756823
@@ -6780,6 +6828,7 @@ namespace quicktype {
67806828
67816829 inline void from_json(const json & j, Catch& x) {
67826830 if (!j.is_object()) throw std::runtime_error("Expected object");
6831+ if (j.find("catch") != j.end() && !j.at("catch").is_number_integer()) throw std::runtime_error("Expected integer");
67836832 x.set_catch_catch(j.at("catch").get<int64_t>());
67846833 }
67856834
@@ -6790,6 +6839,7 @@ namespace quicktype {
67906839
67916840 inline void from_json(const json & j, Char& x) {
67926841 if (!j.is_object()) throw std::runtime_error("Expected object");
6842+ if (j.find("char") != j.end() && !j.at("char").is_number_integer()) throw std::runtime_error("Expected integer");
67936843 x.set_char_char(j.at("char").get<int64_t>());
67946844 }
67956845
@@ -6800,6 +6850,7 @@ namespace quicktype {
68006850
68016851 inline void from_json(const json & j, Char16T& x) {
68026852 if (!j.is_object()) throw std::runtime_error("Expected object");
6853+ if (j.find("char16_t") != j.end() && !j.at("char16_t").is_number_integer()) throw std::runtime_error("Expected integer");
68036854 x.set_char16_t_char16_t(j.at("char16_t").get<int64_t>());
68046855 }
68056856
@@ -6810,6 +6861,7 @@ namespace quicktype {
68106861
68116862 inline void from_json(const json & j, Char32T& x) {
68126863 if (!j.is_object()) throw std::runtime_error("Expected object");
6864+ if (j.find("char32_t") != j.end() && !j.at("char32_t").is_number_integer()) throw std::runtime_error("Expected integer");
68136865 x.set_char32_t_char32_t(j.at("char32_t").get<int64_t>());
68146866 }
68156867
@@ -6820,6 +6872,7 @@ namespace quicktype {
68206872
68216873 inline void from_json(const json & j, Class& x) {
68226874 if (!j.is_object()) throw std::runtime_error("Expected object");
6875+ if (j.find("Class") != j.end() && !j.at("Class").is_number_integer()) throw std::runtime_error("Expected integer");
68236876 x.set_class_class(j.at("Class").get<int64_t>());
68246877 }
68256878
@@ -6830,6 +6883,7 @@ namespace quicktype {
68306883
68316884 inline void from_json(const json & j, CoAwait& x) {
68326885 if (!j.is_object()) throw std::runtime_error("Expected object");
6886+ if (j.find("co_await") != j.end() && !j.at("co_await").is_number_integer()) throw std::runtime_error("Expected integer");
68336887 x.set_co_await_co_await(j.at("co_await").get<int64_t>());
68346888 }
68356889
@@ -6840,6 +6894,7 @@ namespace quicktype {
68406894
68416895 inline void from_json(const json & j, CoReturn& x) {
68426896 if (!j.is_object()) throw std::runtime_error("Expected object");
6897+ if (j.find("co_return") != j.end() && !j.at("co_return").is_number_integer()) throw std::runtime_error("Expected integer");
68436898 x.set_co_return_co_return(j.at("co_return").get<int64_t>());
68446899 }
68456900
@@ -6850,6 +6905,7 @@ namespace quicktype {
68506905
68516906 inline void from_json(const json & j, CoYield& x) {
68526907 if (!j.is_object()) throw std::runtime_error("Expected object");
6908+ if (j.find("co_yield") != j.end() && !j.at("co_yield").is_number_integer()) throw std::runtime_error("Expected integer");
68536909 x.set_co_yield_co_yield(j.at("co_yield").get<int64_t>());
68546910 }
68556911
@@ -6860,6 +6916,7 @@ namespace quicktype {
68606916
68616917 inline void from_json(const json & j, Compl& x) {
68626918 if (!j.is_object()) throw std::runtime_error("Expected object");
6919+ if (j.find("compl") != j.end() && !j.at("compl").is_number_integer()) throw std::runtime_error("Expected integer");
68636920 x.set_compl_compl(j.at("compl").get<int64_t>());
68646921 }
68656922
@@ -6870,6 +6927,7 @@ namespace quicktype {
68706927
68716928 inline void from_json(const json & j, Concept& x) {
68726929 if (!j.is_object()) throw std::runtime_error("Expected object");
6930+ if (j.find("concept") != j.end() && !j.at("concept").is_number_integer()) throw std::runtime_error("Expected integer");
68736931 x.set_concept_concept(j.at("concept").get<int64_t>());
68746932 }
68756933
@@ -6880,6 +6938,7 @@ namespace quicktype {
68806938
68816939 inline void from_json(const json & j, Const& x) {
68826940 if (!j.is_object()) throw std::runtime_error("Expected object");
6941+ if (j.find("const") != j.end() && !j.at("const").is_number_integer()) throw std::runtime_error("Expected integer");
68836942 x.set_const_const(j.at("const").get<int64_t>());
68846943 }
68856944
@@ -6890,6 +6949,7 @@ namespace quicktype {
68906949
68916950 inline void from_json(const json & j, ConstCast& x) {
68926951 if (!j.is_object()) throw std::runtime_error("Expected object");
6952+ if (j.find("const_cast") != j.end() && !j.at("const_cast").is_number_integer()) throw std::runtime_error("Expected integer");
68936953 x.set_const_cast_const_cast(j.at("const_cast").get<int64_t>());
68946954 }
68956955
@@ -6900,6 +6960,7 @@ namespace quicktype {
69006960
69016961 inline void from_json(const json & j, Constexpr& x) {
69026962 if (!j.is_object()) throw std::runtime_error("Expected object");
6963+ if (j.find("constexpr") != j.end() && !j.at("constexpr").is_number_integer()) throw std::runtime_error("Expected integer");
69036964 x.set_constexpr_constexpr(j.at("constexpr").get<int64_t>());
69046965 }
69056966
@@ -6910,6 +6971,7 @@ namespace quicktype {
69106971
69116972 inline void from_json(const json & j, Continue& x) {
69126973 if (!j.is_object()) throw std::runtime_error("Expected object");
6974+ if (j.find("continue") != j.end() && !j.at("continue").is_number_integer()) throw std::runtime_error("Expected integer");
69136975 x.set_continue_continue(j.at("continue").get<int64_t>());
69146976 }
69156977
@@ -6920,6 +6982,7 @@ namespace quicktype {
69206982
69216983 inline void from_json(const json & j, Decltype& x) {
69226984 if (!j.is_object()) throw std::runtime_error("Expected object");
6985+ if (j.find("decltype") != j.end() && !j.at("decltype").is_number_integer()) throw std::runtime_error("Expected integer");
69236986 x.set_decltype_decltype(j.at("decltype").get<int64_t>());
69246987 }
69256988
@@ -6930,6 +6993,7 @@ namespace quicktype {
69306993
69316994 inline void from_json(const json & j, BoolClass& x) {
69326995 if (!j.is_object()) throw std::runtime_error("Expected object");
6996+ if (j.find("_Bool") != j.end() && !j.at("_Bool").is_number_integer()) throw std::runtime_error("Expected integer");
69336997 x.set_bool_bool(j.at("_Bool").get<int64_t>());
69346998 }
69356999
@@ -6940,6 +7004,7 @@ namespace quicktype {
69407004
69417005 inline void from_json(const json & j, ClassClass& x) {
69427006 if (!j.is_object()) throw std::runtime_error("Expected object");
7007+ if (j.find("class") != j.end() && !j.at("class").is_number_integer()) throw std::runtime_error("Expected integer");
69437008 x.set_class_class(j.at("class").get<int64_t>());
69447009 }
69457010
@@ -6980,6 +7045,7 @@ namespace quicktype {
69807045 x.set_decimal(j.at("decimal").get<Decimal>());
69817046 x.set_declare(j.at("declare").get<Declare>());
69827047 x.set_decode_string(j.at("decode_string").get<DecodeString>());
7048+ if (j.find("dummy") != j.end() && !j.at("dummy").is_number_integer()) throw std::runtime_error("Expected integer");
69837049 x.set_dummy(j.at("dummy").get<int64_t>());
69847050 x.set_empty(j.at("_").get<Empty>());
69857051 x.set_fluffy_bool(j.at("bool").get<Obj1Bool>());
@@ -7090,6 +7156,7 @@ namespace quicktype {
70907156
70917157 inline void from_json(const json & j, Def& x) {
70927158 if (!j.is_object()) throw std::runtime_error("Expected object");
7159+ if (j.find("def") != j.end() && !j.at("def").is_number_integer()) throw std::runtime_error("Expected integer");
70937160 x.set_def(j.at("def").get<int64_t>());
70947161 }
70957162
@@ -7100,6 +7167,7 @@ namespace quicktype {
71007167
71017168 inline void from_json(const json & j, Defer& x) {
71027169 if (!j.is_object()) throw std::runtime_error("Expected object");
7170+ if (j.find("defer") != j.end() && !j.at("defer").is_number_integer()) throw std::runtime_error("Expected integer");
71037171 x.set_defer(j.at("defer").get<int64_t>());
71047172 }
71057173
@@ -7110,6 +7178,7 @@ namespace quicktype {
71107178
71117179 inline void from_json(const json & j, Deinit& x) {
71127180 if (!j.is_object()) throw std::runtime_error("Expected object");
7181+ if (j.find("deinit") != j.end() && !j.at("deinit").is_number_integer()) throw std::runtime_error("Expected integer");
71137182 x.set_deinit(j.at("deinit").get<int64_t>());
71147183 }
71157184
@@ -7120,6 +7189,7 @@ namespace quicktype {
71207189
71217190 inline void from_json(const json & j, Del& x) {
71227191 if (!j.is_object()) throw std::runtime_error("Expected object");
7192+ if (j.find("del") != j.end() && !j.at("del").is_number_integer()) throw std::runtime_error("Expected integer");
71237193 x.set_del(j.at("del").get<int64_t>());
71247194 }
71257195
@@ -7130,6 +7200,7 @@ namespace quicktype {
71307200
71317201 inline void from_json(const json & j, Delegate& x) {
71327202 if (!j.is_object()) throw std::runtime_error("Expected object");
7203+ if (j.find("delegate") != j.end() && !j.at("delegate").is_number_integer()) throw std::runtime_error("Expected integer");
71337204 x.set_delegate(j.at("delegate").get<int64_t>());
71347205 }
71357206
@@ -7140,6 +7211,7 @@ namespace quicktype {
71407211
71417212 inline void from_json(const json & j, Dict& x) {
71427213 if (!j.is_object()) throw std::runtime_error("Expected object");
7214+ if (j.find("dict") != j.end() && !j.at("dict").is_number_integer()) throw std::runtime_error("Expected integer");
71437215 x.set_dict(j.at("dict").get<int64_t>());
71447216 }
71457217
@@ -7150,6 +7222,7 @@ namespace quicktype {
71507222
71517223 inline void from_json(const json & j, Dictionary& x) {
71527224 if (!j.is_object()) throw std::runtime_error("Expected object");
7225+ if (j.find("dictionary") != j.end() && !j.at("dictionary").is_number_integer()) throw std::runtime_error("Expected integer");
71537226 x.set_dictionary(j.at("dictionary").get<int64_t>());
71547227 }
71557228
@@ -7160,6 +7233,7 @@ namespace quicktype {
71607233
71617234 inline void from_json(const json & j, DidSet& x) {
71627235 if (!j.is_object()) throw std::runtime_error("Expected object");
7236+ if (j.find("didSet") != j.end() && !j.at("didSet").is_number_integer()) throw std::runtime_error("Expected integer");
71637237 x.set_did_set(j.at("didSet").get<int64_t>());
71647238 }
71657239
@@ -7170,6 +7244,7 @@ namespace quicktype {
71707244
71717245 inline void from_json(const json & j, Dynamic& x) {
71727246 if (!j.is_object()) throw std::runtime_error("Expected object");
7247+ if (j.find("dynamic") != j.end() && !j.at("dynamic").is_number_integer()) throw std::runtime_error("Expected integer");
71737248 x.set_dynamic(j.at("dynamic").get<int64_t>());
71747249 }
71757250
@@ -7180,6 +7255,7 @@ namespace quicktype {
71807255
71817256 inline void from_json(const json & j, Elif& x) {
71827257 if (!j.is_object()) throw std::runtime_error("Expected object");
7258+ if (j.find("elif") != j.end() && !j.at("elif").is_number_integer()) throw std::runtime_error("Expected integer");
71837259 x.set_elif(j.at("elif").get<int64_t>());
71847260 }
71857261
@@ -7190,6 +7266,7 @@ namespace quicktype {
71907266
71917267 inline void from_json(const json & j, EncodeQuickType& x) {
71927268 if (!j.is_object()) throw std::runtime_error("Expected object");
7269+ if (j.find("encode_quick_type") != j.end() && !j.at("encode_quick_type").is_number_integer()) throw std::runtime_error("Expected integer");
71937270 x.set_encode_quick_type(j.at("encode_quick_type").get<int64_t>());
71947271 }
71957272
@@ -7200,6 +7277,7 @@ namespace quicktype {
72007277
72017278 inline void from_json(const json & j, EqualityContract& x) {
72027279 if (!j.is_object()) throw std::runtime_error("Expected object");
7280+ if (j.find("equalityContract") != j.end() && !j.at("equalityContract").is_number_integer()) throw std::runtime_error("Expected integer");
72037281 x.set_equality_contract(j.at("equalityContract").get<int64_t>());
72047282 }
72057283
@@ -7210,6 +7288,7 @@ namespace quicktype {
72107288
72117289 inline void from_json(const json & j, Event& x) {
72127290 if (!j.is_object()) throw std::runtime_error("Expected object");
7291+ if (j.find("event") != j.end() && !j.at("event").is_number_integer()) throw std::runtime_error("Expected integer");
72137292 x.set_event(j.at("event").get<int64_t>());
72147293 }
72157294
@@ -7220,6 +7299,7 @@ namespace quicktype {
72207299
72217300 inline void from_json(const json & j, Except& x) {
72227301 if (!j.is_object()) throw std::runtime_error("Expected object");
7302+ if (j.find("except") != j.end() && !j.at("except").is_number_integer()) throw std::runtime_error("Expected integer");
72237303 x.set_except(j.at("except").get<int64_t>());
72247304 }
72257305
@@ -7230,6 +7310,7 @@ namespace quicktype {
72307310
72317311 inline void from_json(const json & j, Exception& x) {
72327312 if (!j.is_object()) throw std::runtime_error("Expected object");
7313+ if (j.find("exception") != j.end() && !j.at("exception").is_number_integer()) throw std::runtime_error("Expected integer");
72337314 x.set_exception(j.at("exception").get<int64_t>());
72347315 }
72357316
@@ -7240,6 +7321,7 @@ namespace quicktype {
72407321
72417322 inline void from_json(const json & j, Exposing& x) {
72427323 if (!j.is_object()) throw std::runtime_error("Expected object");
7324+ if (j.find("exposing") != j.end() && !j.at("exposing").is_number_integer()) throw std::runtime_error("Expected integer");
72437325 x.set_exposing(j.at("exposing").get<int64_t>());
72447326 }
72457327
@@ -7250,6 +7332,7 @@ namespace quicktype {
72507332
72517333 inline void from_json(const json & j, Extends& x) {
72527334 if (!j.is_object()) throw std::runtime_error("Expected object");
7335+ if (j.find("extends") != j.end() && !j.at("extends").is_number_integer()) throw std::runtime_error("Expected integer");
72537336 x.set_extends(j.at("extends").get<int64_t>());
72547337 }
72557338
@@ -7260,6 +7343,7 @@ namespace quicktype {
72607343
72617344 inline void from_json(const json & j, Extension& x) {
72627345 if (!j.is_object()) throw std::runtime_error("Expected object");
7346+ if (j.find("extension") != j.end() && !j.at("extension").is_number_integer()) throw std::runtime_error("Expected integer");
72637347 x.set_extension(j.at("extension").get<int64_t>());
72647348 }
72657349
@@ -7270,6 +7354,7 @@ namespace quicktype {
72707354
72717355 inline void from_json(const json & j, Fallthrough& x) {
72727356 if (!j.is_object()) throw std::runtime_error("Expected object");
7357+ if (j.find("fallthrough") != j.end() && !j.at("fallthrough").is_number_integer()) throw std::runtime_error("Expected integer");
72737358 x.set_fallthrough(j.at("fallthrough").get<int64_t>());
72747359 }
72757360
@@ -7280,6 +7365,7 @@ namespace quicktype {
72807365
72817366 inline void from_json(const json & j, Fileprivate& x) {
72827367 if (!j.is_object()) throw std::runtime_error("Expected object");
7368+ if (j.find("fileprivate") != j.end() && !j.at("fileprivate").is_number_integer()) throw std::runtime_error("Expected integer");
72837369 x.set_fileprivate(j.at("fileprivate").get<int64_t>());
72847370 }
72857371
@@ -7290,6 +7376,7 @@ namespace quicktype {
72907376
72917377 inline void from_json(const json & j, Finally& x) {
72927378 if (!j.is_object()) throw std::runtime_error("Expected object");
7379+ if (j.find("finally") != j.end() && !j.at("finally").is_number_integer()) throw std::runtime_error("Expected integer");
72937380 x.set_finally(j.at("finally").get<int64_t>());
72947381 }
72957382
@@ -7300,6 +7387,7 @@ namespace quicktype {
73007387
73017388 inline void from_json(const json & j, Fixed& x) {
73027389 if (!j.is_object()) throw std::runtime_error("Expected object");
7390+ if (j.find("fixed") != j.end() && !j.at("fixed").is_number_integer()) throw std::runtime_error("Expected integer");
73037391 x.set_fixed(j.at("fixed").get<int64_t>());
73047392 }
73057393
@@ -7310,6 +7398,7 @@ namespace quicktype {
73107398
73117399 inline void from_json(const json & j, Foreach& x) {
73127400 if (!j.is_object()) throw std::runtime_error("Expected object");
7401+ if (j.find("foreach") != j.end() && !j.at("foreach").is_number_integer()) throw std::runtime_error("Expected integer");
73137402 x.set_foreach(j.at("foreach").get<int64_t>());
73147403 }
73157404
@@ -7320,6 +7409,7 @@ namespace quicktype {
73207409
73217410 inline void from_json(const json & j, From& x) {
73227411 if (!j.is_object()) throw std::runtime_error("Expected object");
7412+ if (j.find("from") != j.end() && !j.at("from").is_number_integer()) throw std::runtime_error("Expected integer");
73237413 x.set_from(j.at("from").get<int64_t>());
73247414 }
73257415
@@ -7330,6 +7420,7 @@ namespace quicktype {
73307420
73317421 inline void from_json(const json & j, FromJson& x) {
73327422 if (!j.is_object()) throw std::runtime_error("Expected object");
7423+ if (j.find("from_json") != j.end() && !j.at("from_json").is_number_integer()) throw std::runtime_error("Expected integer");
73337424 x.set_from_json(j.at("from_json").get<int64_t>());
73347425 }
73357426
@@ -7340,6 +7431,7 @@ namespace quicktype {
73407431
73417432 inline void from_json(const json & j, Func& x) {
73427433 if (!j.is_object()) throw std::runtime_error("Expected object");
7434+ if (j.find("func") != j.end() && !j.at("func").is_number_integer()) throw std::runtime_error("Expected integer");
73437435 x.set_func(j.at("func").get<int64_t>());
73447436 }
73457437
@@ -7350,6 +7442,7 @@ namespace quicktype {
73507442
73517443 inline void from_json(const json & j, Function& x) {
73527444 if (!j.is_object()) throw std::runtime_error("Expected object");
7445+ if (j.find("function") != j.end() && !j.at("function").is_number_integer()) throw std::runtime_error("Expected integer");
73537446 x.set_function(j.at("function").get<int64_t>());
73547447 }
73557448
@@ -7360,6 +7453,7 @@ namespace quicktype {
73607453
73617454 inline void from_json(const json & j, Get& x) {
73627455 if (!j.is_object()) throw std::runtime_error("Expected object");
7456+ if (j.find("get") != j.end() && !j.at("get").is_number_integer()) throw std::runtime_error("Expected integer");
73637457 x.set_get(j.at("get").get<int64_t>());
73647458 }
73657459
@@ -7370,6 +7464,7 @@ namespace quicktype {
73707464
73717465 inline void from_json(const json & j, Global& x) {
73727466 if (!j.is_object()) throw std::runtime_error("Expected object");
7467+ if (j.find("global") != j.end() && !j.at("global").is_number_integer()) throw std::runtime_error("Expected integer");
73737468 x.set_global(j.at("global").get<int64_t>());
73747469 }
73757470
@@ -7380,6 +7475,7 @@ namespace quicktype {
73807475
73817476 inline void from_json(const json & j, Go& x) {
73827477 if (!j.is_object()) throw std::runtime_error("Expected object");
7478+ if (j.find("go") != j.end() && !j.at("go").is_number_integer()) throw std::runtime_error("Expected integer");
73837479 x.set_go(j.at("go").get<int64_t>());
73847480 }
73857481
@@ -7390,6 +7486,7 @@ namespace quicktype {
73907486
73917487 inline void from_json(const json & j, Guard& x) {
73927488 if (!j.is_object()) throw std::runtime_error("Expected object");
7489+ if (j.find("guard") != j.end() && !j.at("guard").is_number_integer()) throw std::runtime_error("Expected integer");
73937490 x.set_guard(j.at("guard").get<int64_t>());
73947491 }
73957492
@@ -7400,6 +7497,7 @@ namespace quicktype {
74007497
74017498 inline void from_json(const json & j, HasOwnProperty& x) {
74027499 if (!j.is_object()) throw std::runtime_error("Expected object");
7500+ if (j.find("hasOwnProperty") != j.end() && !j.at("hasOwnProperty").is_number_integer()) throw std::runtime_error("Expected integer");
74037501 x.set_has_own_property(j.at("hasOwnProperty").get<int64_t>());
74047502 }
74057503
@@ -7410,6 +7508,7 @@ namespace quicktype {
74107508
74117509 inline void from_json(const json & j, Id& x) {
74127510 if (!j.is_object()) throw std::runtime_error("Expected object");
7511+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
74137512 x.set_id(j.at("id").get<int64_t>());
74147513 }
74157514
@@ -7420,6 +7519,7 @@ namespace quicktype {
74207519
74217520 inline void from_json(const json & j, Imp& x) {
74227521 if (!j.is_object()) throw std::runtime_error("Expected object");
7522+ if (j.find("IMP") != j.end() && !j.at("IMP").is_number_integer()) throw std::runtime_error("Expected integer");
74237523 x.set_imp(j.at("IMP").get<int64_t>());
74247524 }
74257525
@@ -7430,6 +7530,7 @@ namespace quicktype {
74307530
74317531 inline void from_json(const json & j, Implements& x) {
74327532 if (!j.is_object()) throw std::runtime_error("Expected object");
7533+ if (j.find("implements") != j.end() && !j.at("implements").is_number_integer()) throw std::runtime_error("Expected integer");
74337534 x.set_implements(j.at("implements").get<int64_t>());
74347535 }
74357536
@@ -7440,6 +7541,7 @@ namespace quicktype {
74407541
74417542 inline void from_json(const json & j, Implicit& x) {
74427543 if (!j.is_object()) throw std::runtime_error("Expected object");
7544+ if (j.find("implicit") != j.end() && !j.at("implicit").is_number_integer()) throw std::runtime_error("Expected integer");
74437545 x.set_implicit(j.at("implicit").get<int64_t>());
74447546 }
74457547
@@ -7450,6 +7552,7 @@ namespace quicktype {
74507552
74517553 inline void from_json(const json & j, In& x) {
74527554 if (!j.is_object()) throw std::runtime_error("Expected object");
7555+ if (j.find("in") != j.end() && !j.at("in").is_number_integer()) throw std::runtime_error("Expected integer");
74537556 x.set_in(j.at("in").get<int64_t>());
74547557 }
74557558
@@ -7460,6 +7563,7 @@ namespace quicktype {
74607563
74617564 inline void from_json(const json & j, Indirect& x) {
74627565 if (!j.is_object()) throw std::runtime_error("Expected object");
7566+ if (j.find("indirect") != j.end() && !j.at("indirect").is_number_integer()) throw std::runtime_error("Expected integer");
74637567 x.set_indirect(j.at("indirect").get<int64_t>());
74647568 }
74657569
@@ -7470,6 +7574,7 @@ namespace quicktype {
74707574
74717575 inline void from_json(const json & j, Infix& x) {
74727576 if (!j.is_object()) throw std::runtime_error("Expected object");
7577+ if (j.find("infix") != j.end() && !j.at("infix").is_number_integer()) throw std::runtime_error("Expected integer");
74737578 x.set_infix(j.at("infix").get<int64_t>());
74747579 }
74757580
@@ -7480,6 +7585,7 @@ namespace quicktype {
74807585
74817586 inline void from_json(const json & j, Init& x) {
74827587 if (!j.is_object()) throw std::runtime_error("Expected object");
7588+ if (j.find("init") != j.end() && !j.at("init").is_number_integer()) throw std::runtime_error("Expected integer");
74837589 x.set_init(j.at("init").get<int64_t>());
74847590 }
74857591
@@ -7490,6 +7596,7 @@ namespace quicktype {
74907596
74917597 inline void from_json(const json & j, Inout& x) {
74927598 if (!j.is_object()) throw std::runtime_error("Expected object");
7599+ if (j.find("inout") != j.end() && !j.at("inout").is_number_integer()) throw std::runtime_error("Expected integer");
74937600 x.set_inout(j.at("inout").get<int64_t>());
74947601 }
74957602
@@ -7500,6 +7607,7 @@ namespace quicktype {
75007607
75017608 inline void from_json(const json & j, Instanceof& x) {
75027609 if (!j.is_object()) throw std::runtime_error("Expected object");
7610+ if (j.find("instanceof") != j.end() && !j.at("instanceof").is_number_integer()) throw std::runtime_error("Expected integer");
75037611 x.set_instanceof(j.at("instanceof").get<int64_t>());
75047612 }
75057613
@@ -7510,6 +7618,7 @@ namespace quicktype {
75107618
75117619 inline void from_json(const json & j, Interface& x) {
75127620 if (!j.is_object()) throw std::runtime_error("Expected object");
7621+ if (j.find("interface") != j.end() && !j.at("interface").is_number_integer()) throw std::runtime_error("Expected integer");
75137622 x.set_interface(j.at("interface").get<int64_t>());
75147623 }
75157624
@@ -7520,6 +7629,7 @@ namespace quicktype {
75207629
75217630 inline void from_json(const json & j, Internal& x) {
75227631 if (!j.is_object()) throw std::runtime_error("Expected object");
7632+ if (j.find("internal") != j.end() && !j.at("internal").is_number_integer()) throw std::runtime_error("Expected integer");
75237633 x.set_internal(j.at("internal").get<int64_t>());
75247634 }
75257635
@@ -7530,6 +7640,7 @@ namespace quicktype {
75307640
75317641 inline void from_json(const json & j, Default& x) {
75327642 if (!j.is_object()) throw std::runtime_error("Expected object");
7643+ if (j.find("default") != j.end() && !j.at("default").is_number_integer()) throw std::runtime_error("Expected integer");
75337644 x.set_default_default(j.at("default").get<int64_t>());
75347645 }
75357646
@@ -7540,6 +7651,7 @@ namespace quicktype {
75407651
75417652 inline void from_json(const json & j, Delete& x) {
75427653 if (!j.is_object()) throw std::runtime_error("Expected object");
7654+ if (j.find("delete") != j.end() && !j.at("delete").is_number_integer()) throw std::runtime_error("Expected integer");
75437655 x.set_delete_delete(j.at("delete").get<int64_t>());
75447656 }
75457657
@@ -7550,6 +7662,7 @@ namespace quicktype {
75507662
75517663 inline void from_json(const json & j, Do& x) {
75527664 if (!j.is_object()) throw std::runtime_error("Expected object");
7665+ if (j.find("do") != j.end() && !j.at("do").is_number_integer()) throw std::runtime_error("Expected integer");
75537666 x.set_do_do(j.at("do").get<int64_t>());
75547667 }
75557668
@@ -7560,6 +7673,7 @@ namespace quicktype {
75607673
75617674 inline void from_json(const json & j, Double& x) {
75627675 if (!j.is_object()) throw std::runtime_error("Expected object");
7676+ if (j.find("double") != j.end() && !j.at("double").is_number_integer()) throw std::runtime_error("Expected integer");
75637677 x.set_double_double(j.at("double").get<int64_t>());
75647678 }
75657679
@@ -7570,6 +7684,7 @@ namespace quicktype {
75707684
75717685 inline void from_json(const json & j, DynamicCast& x) {
75727686 if (!j.is_object()) throw std::runtime_error("Expected object");
7687+ if (j.find("dynamic_cast") != j.end() && !j.at("dynamic_cast").is_number_integer()) throw std::runtime_error("Expected integer");
75737688 x.set_dynamic_cast_dynamic_cast(j.at("dynamic_cast").get<int64_t>());
75747689 }
75757690
@@ -7580,6 +7695,7 @@ namespace quicktype {
75807695
75817696 inline void from_json(const json & j, Else& x) {
75827697 if (!j.is_object()) throw std::runtime_error("Expected object");
7698+ if (j.find("else") != j.end() && !j.at("else").is_number_integer()) throw std::runtime_error("Expected integer");
75837699 x.set_else_else(j.at("else").get<int64_t>());
75847700 }
75857701
@@ -7590,6 +7706,7 @@ namespace quicktype {
75907706
75917707 inline void from_json(const json & j, Enum& x) {
75927708 if (!j.is_object()) throw std::runtime_error("Expected object");
7709+ if (j.find("enum") != j.end() && !j.at("enum").is_number_integer()) throw std::runtime_error("Expected integer");
75937710 x.set_enum_enum(j.at("enum").get<int64_t>());
75947711 }
75957712
@@ -7600,6 +7717,7 @@ namespace quicktype {
76007717
76017718 inline void from_json(const json & j, Explicit& x) {
76027719 if (!j.is_object()) throw std::runtime_error("Expected object");
7720+ if (j.find("explicit") != j.end() && !j.at("explicit").is_number_integer()) throw std::runtime_error("Expected integer");
76037721 x.set_explicit_explicit(j.at("explicit").get<int64_t>());
76047722 }
76057723
@@ -7610,6 +7728,7 @@ namespace quicktype {
76107728
76117729 inline void from_json(const json & j, Export& x) {
76127730 if (!j.is_object()) throw std::runtime_error("Expected object");
7731+ if (j.find("export") != j.end() && !j.at("export").is_number_integer()) throw std::runtime_error("Expected integer");
76137732 x.set_export_export(j.at("export").get<int64_t>());
76147733 }
76157734
@@ -7620,6 +7739,7 @@ namespace quicktype {
76207739
76217740 inline void from_json(const json & j, Extern& x) {
76227741 if (!j.is_object()) throw std::runtime_error("Expected object");
7742+ if (j.find("extern") != j.end() && !j.at("extern").is_number_integer()) throw std::runtime_error("Expected integer");
76237743 x.set_extern_extern(j.at("extern").get<int64_t>());
76247744 }
76257745
@@ -7630,6 +7750,7 @@ namespace quicktype {
76307750
76317751 inline void from_json(const json & j, False& x) {
76327752 if (!j.is_object()) throw std::runtime_error("Expected object");
7753+ if (j.find("False") != j.end() && !j.at("False").is_number_integer()) throw std::runtime_error("Expected integer");
76337754 x.set_false_false(j.at("False").get<int64_t>());
76347755 }
76357756
@@ -7640,6 +7761,7 @@ namespace quicktype {
76407761
76417762 inline void from_json(const json & j, Final& x) {
76427763 if (!j.is_object()) throw std::runtime_error("Expected object");
7764+ if (j.find("final") != j.end() && !j.at("final").is_number_integer()) throw std::runtime_error("Expected integer");
76437765 x.set_final_final(j.at("final").get<int64_t>());
76447766 }
76457767
@@ -7650,6 +7772,7 @@ namespace quicktype {
76507772
76517773 inline void from_json(const json & j, Float& x) {
76527774 if (!j.is_object()) throw std::runtime_error("Expected object");
7775+ if (j.find("float") != j.end() && !j.at("float").is_number_integer()) throw std::runtime_error("Expected integer");
76537776 x.set_float_float(j.at("float").get<int64_t>());
76547777 }
76557778
@@ -7660,6 +7783,7 @@ namespace quicktype {
76607783
76617784 inline void from_json(const json & j, For& x) {
76627785 if (!j.is_object()) throw std::runtime_error("Expected object");
7786+ if (j.find("for") != j.end() && !j.at("for").is_number_integer()) throw std::runtime_error("Expected integer");
76637787 x.set_for_for(j.at("for").get<int64_t>());
76647788 }
76657789
@@ -7670,6 +7794,7 @@ namespace quicktype {
76707794
76717795 inline void from_json(const json & j, Friend& x) {
76727796 if (!j.is_object()) throw std::runtime_error("Expected object");
7797+ if (j.find("friend") != j.end() && !j.at("friend").is_number_integer()) throw std::runtime_error("Expected integer");
76737798 x.set_friend_friend(j.at("friend").get<int64_t>());
76747799 }
76757800
@@ -7680,6 +7805,7 @@ namespace quicktype {
76807805
76817806 inline void from_json(const json & j, Goto& x) {
76827807 if (!j.is_object()) throw std::runtime_error("Expected object");
7808+ if (j.find("goto") != j.end() && !j.at("goto").is_number_integer()) throw std::runtime_error("Expected integer");
76837809 x.set_goto_goto(j.at("goto").get<int64_t>());
76847810 }
76857811
@@ -7690,6 +7816,7 @@ namespace quicktype {
76907816
76917817 inline void from_json(const json & j, If& x) {
76927818 if (!j.is_object()) throw std::runtime_error("Expected object");
7819+ if (j.find("if") != j.end() && !j.at("if").is_number_integer()) throw std::runtime_error("Expected integer");
76937820 x.set_if_if(j.at("if").get<int64_t>());
76947821 }
76957822
@@ -7700,6 +7827,7 @@ namespace quicktype {
77007827
77017828 inline void from_json(const json & j, Import& x) {
77027829 if (!j.is_object()) throw std::runtime_error("Expected object");
7830+ if (j.find("import") != j.end() && !j.at("import").is_number_integer()) throw std::runtime_error("Expected integer");
77037831 x.set_import_import(j.at("import").get<int64_t>());
77047832 }
77057833
@@ -7710,6 +7838,7 @@ namespace quicktype {
77107838
77117839 inline void from_json(const json & j, Inline& x) {
77127840 if (!j.is_object()) throw std::runtime_error("Expected object");
7841+ if (j.find("inline") != j.end() && !j.at("inline").is_number_integer()) throw std::runtime_error("Expected integer");
77137842 x.set_inline_inline(j.at("inline").get<int64_t>());
77147843 }
77157844
@@ -7720,6 +7849,7 @@ namespace quicktype {
77207849
77217850 inline void from_json(const json & j, Int& x) {
77227851 if (!j.is_object()) throw std::runtime_error("Expected object");
7852+ if (j.find("int") != j.end() && !j.at("int").is_number_integer()) throw std::runtime_error("Expected integer");
77237853 x.set_int_int(j.at("int").get<int64_t>());
77247854 }
77257855
@@ -7730,6 +7860,7 @@ namespace quicktype {
77307860
77317861 inline void from_json(const json & j, FalseClass& x) {
77327862 if (!j.is_object()) throw std::runtime_error("Expected object");
7863+ if (j.find("false") != j.end() && !j.at("false").is_number_integer()) throw std::runtime_error("Expected integer");
77337864 x.set_false_false(j.at("false").get<int64_t>());
77347865 }
77357866
@@ -7748,6 +7879,7 @@ namespace quicktype {
77487879 x.set_dict(j.at("dict").get<Dict>());
77497880 x.set_dictionary(j.at("dictionary").get<Dictionary>());
77507881 x.set_did_set(j.at("didSet").get<DidSet>());
7882+ if (j.find("dummy") != j.end() && !j.at("dummy").is_number_integer()) throw std::runtime_error("Expected integer");
77517883 x.set_dummy(j.at("dummy").get<int64_t>());
77527884 x.set_dynamic(j.at("dynamic").get<Dynamic>());
77537885 x.set_elif(j.at("elif").get<Elif>());
@@ -7880,6 +8012,7 @@ namespace quicktype {
78808012
78818013 inline void from_json(const json & j, Is& x) {
78828014 if (!j.is_object()) throw std::runtime_error("Expected object");
8015+ if (j.find("is") != j.end() && !j.at("is").is_number_integer()) throw std::runtime_error("Expected integer");
78838016 x.set_is(j.at("is").get<int64_t>());
78848017 }
78858018
@@ -7890,6 +8023,7 @@ namespace quicktype {
78908023
78918024 inline void from_json(const json & j, Iterable& x) {
78928025 if (!j.is_object()) throw std::runtime_error("Expected object");
8026+ if (j.find("iterable") != j.end() && !j.at("iterable").is_number_integer()) throw std::runtime_error("Expected integer");
78938027 x.set_iterable(j.at("iterable").get<int64_t>());
78948028 }
78958029
@@ -7900,6 +8034,7 @@ namespace quicktype {
79008034
79018035 inline void from_json(const json & j, Jdec& x) {
79028036 if (!j.is_object()) throw std::runtime_error("Expected object");
8037+ if (j.find("jdec") != j.end() && !j.at("jdec").is_number_integer()) throw std::runtime_error("Expected integer");
79038038 x.set_jdec(j.at("jdec").get<int64_t>());
79048039 }
79058040
@@ -7910,6 +8045,7 @@ namespace quicktype {
79108045
79118046 inline void from_json(const json & j, Jenc& x) {
79128047 if (!j.is_object()) throw std::runtime_error("Expected object");
8048+ if (j.find("jenc") != j.end() && !j.at("jenc").is_number_integer()) throw std::runtime_error("Expected integer");
79138049 x.set_jenc(j.at("jenc").get<int64_t>());
79148050 }
79158051
@@ -7920,6 +8056,7 @@ namespace quicktype {
79208056
79218057 inline void from_json(const json & j, Jpipe& x) {
79228058 if (!j.is_object()) throw std::runtime_error("Expected object");
8059+ if (j.find("jpipe") != j.end() && !j.at("jpipe").is_number_integer()) throw std::runtime_error("Expected integer");
79238060 x.set_jpipe(j.at("jpipe").get<int64_t>());
79248061 }
79258062
@@ -7930,6 +8067,7 @@ namespace quicktype {
79308067
79318068 inline void from_json(const json & j, Json& x) {
79328069 if (!j.is_object()) throw std::runtime_error("Expected object");
8070+ if (j.find("json") != j.end() && !j.at("json").is_number_integer()) throw std::runtime_error("Expected integer");
79338071 x.set_json(j.at("json").get<int64_t>());
79348072 }
79358073
@@ -7940,6 +8078,7 @@ namespace quicktype {
79408078
79418079 inline void from_json(const json & j, JsonConverter& x) {
79428080 if (!j.is_object()) throw std::runtime_error("Expected object");
8081+ if (j.find("json_converter") != j.end() && !j.at("json_converter").is_number_integer()) throw std::runtime_error("Expected integer");
79438082 x.set_json_converter(j.at("json_converter").get<int64_t>());
79448083 }
79458084
@@ -7950,6 +8089,7 @@ namespace quicktype {
79508089
79518090 inline void from_json(const json & j, JsonSerializer& x) {
79528091 if (!j.is_object()) throw std::runtime_error("Expected object");
8092+ if (j.find("json_serializer") != j.end() && !j.at("json_serializer").is_number_integer()) throw std::runtime_error("Expected integer");
79538093 x.set_json_serializer(j.at("json_serializer").get<int64_t>());
79548094 }
79558095
@@ -7960,6 +8100,7 @@ namespace quicktype {
79608100
79618101 inline void from_json(const json & j, JsonToken& x) {
79628102 if (!j.is_object()) throw std::runtime_error("Expected object");
8103+ if (j.find("json_token") != j.end() && !j.at("json_token").is_number_integer()) throw std::runtime_error("Expected integer");
79638104 x.set_json_token(j.at("json_token").get<int64_t>());
79648105 }
79658106
@@ -7970,6 +8111,7 @@ namespace quicktype {
79708111
79718112 inline void from_json(const json & j, JsonWriter& x) {
79728113 if (!j.is_object()) throw std::runtime_error("Expected object");
8114+ if (j.find("json_writer") != j.end() && !j.at("json_writer").is_number_integer()) throw std::runtime_error("Expected integer");
79738115 x.set_json_writer(j.at("json_writer").get<int64_t>());
79748116 }
79758117
@@ -7980,6 +8122,7 @@ namespace quicktype {
79808122
79818123 inline void from_json(const json & j, Lambda& x) {
79828124 if (!j.is_object()) throw std::runtime_error("Expected object");
8125+ if (j.find("lambda") != j.end() && !j.at("lambda").is_number_integer()) throw std::runtime_error("Expected integer");
79838126 x.set_lambda(j.at("lambda").get<int64_t>());
79848127 }
79858128
@@ -7990,6 +8133,7 @@ namespace quicktype {
79908133
79918134 inline void from_json(const json & j, Lazy& x) {
79928135 if (!j.is_object()) throw std::runtime_error("Expected object");
8136+ if (j.find("lazy") != j.end() && !j.at("lazy").is_number_integer()) throw std::runtime_error("Expected integer");
79938137 x.set_lazy(j.at("lazy").get<int64_t>());
79948138 }
79958139
@@ -8000,6 +8144,7 @@ namespace quicktype {
80008144
80018145 inline void from_json(const json & j, Left& x) {
80028146 if (!j.is_object()) throw std::runtime_error("Expected object");
8147+ if (j.find("left") != j.end() && !j.at("left").is_number_integer()) throw std::runtime_error("Expected integer");
80038148 x.set_left(j.at("left").get<int64_t>());
80048149 }
80058150
@@ -8010,6 +8155,7 @@ namespace quicktype {
80108155
80118156 inline void from_json(const json & j, Let& x) {
80128157 if (!j.is_object()) throw std::runtime_error("Expected object");
8158+ if (j.find("let") != j.end() && !j.at("let").is_number_integer()) throw std::runtime_error("Expected integer");
80138159 x.set_let(j.at("let").get<int64_t>());
80148160 }
80158161
@@ -8020,6 +8166,7 @@ namespace quicktype {
80208166
80218167 inline void from_json(const json & j, List& x) {
80228168 if (!j.is_object()) throw std::runtime_error("Expected object");
8169+ if (j.find("list") != j.end() && !j.at("list").is_number_integer()) throw std::runtime_error("Expected integer");
80238170 x.set_list(j.at("list").get<int64_t>());
80248171 }
80258172
@@ -8030,6 +8177,7 @@ namespace quicktype {
80308177
80318178 inline void from_json(const json & j, Lock& x) {
80328179 if (!j.is_object()) throw std::runtime_error("Expected object");
8180+ if (j.find("lock") != j.end() && !j.at("lock").is_number_integer()) throw std::runtime_error("Expected integer");
80338181 x.set_lock(j.at("lock").get<int64_t>());
80348182 }
80358183
@@ -8040,6 +8188,7 @@ namespace quicktype {
80408188
80418189 inline void from_json(const json & j, Map& x) {
80428190 if (!j.is_object()) throw std::runtime_error("Expected object");
8191+ if (j.find("map") != j.end() && !j.at("map").is_number_integer()) throw std::runtime_error("Expected integer");
80438192 x.set_map(j.at("map").get<int64_t>());
80448193 }
80458194
@@ -8050,6 +8199,7 @@ namespace quicktype {
80508199
80518200 inline void from_json(const json & j, MetadataPropertyHandling& x) {
80528201 if (!j.is_object()) throw std::runtime_error("Expected object");
8202+ if (j.find("metadata_property_handling") != j.end() && !j.at("metadata_property_handling").is_number_integer()) throw std::runtime_error("Expected integer");
80538203 x.set_metadata_property_handling(j.at("metadata_property_handling").get<int64_t>());
80548204 }
80558205
@@ -8060,6 +8210,7 @@ namespace quicktype {
80608210
80618211 inline void from_json(const json & j, Mutating& x) {
80628212 if (!j.is_object()) throw std::runtime_error("Expected object");
8213+ if (j.find("mutating") != j.end() && !j.at("mutating").is_number_integer()) throw std::runtime_error("Expected integer");
80638214 x.set_mutating(j.at("mutating").get<int64_t>());
80648215 }
80658216
@@ -8070,6 +8221,7 @@ namespace quicktype {
80708221
80718222 inline void from_json(const json & j, Native& x) {
80728223 if (!j.is_object()) throw std::runtime_error("Expected object");
8224+ if (j.find("native") != j.end() && !j.at("native").is_number_integer()) throw std::runtime_error("Expected integer");
80738225 x.set_native(j.at("native").get<int64_t>());
80748226 }
80758227
@@ -8080,6 +8232,7 @@ namespace quicktype {
80808232
80818233 inline void from_json(const json & j, Newtonsoft& x) {
80828234 if (!j.is_object()) throw std::runtime_error("Expected object");
8235+ if (j.find("newtonsoft") != j.end() && !j.at("newtonsoft").is_number_integer()) throw std::runtime_error("Expected integer");
80838236 x.set_newtonsoft(j.at("newtonsoft").get<int64_t>());
80848237 }
80858238
@@ -8090,6 +8243,7 @@ namespace quicktype {
80908243
80918244 inline void from_json(const json & j, Nil& x) {
80928245 if (!j.is_object()) throw std::runtime_error("Expected object");
8246+ if (j.find("nil") != j.end() && !j.at("nil").is_number_integer()) throw std::runtime_error("Expected integer");
80938247 x.set_nil(j.at("nil").get<int64_t>());
80948248 }
80958249
@@ -8100,6 +8254,7 @@ namespace quicktype {
81008254
81018255 inline void from_json(const json & j, No& x) {
81028256 if (!j.is_object()) throw std::runtime_error("Expected object");
8257+ if (j.find("NO") != j.end() && !j.at("NO").is_number_integer()) throw std::runtime_error("Expected integer");
81038258 x.set_no(j.at("NO").get<int64_t>());
81048259 }
81058260
@@ -8110,6 +8265,7 @@ namespace quicktype {
81108265
81118266 inline void from_json(const json & j, Nonatomic& x) {
81128267 if (!j.is_object()) throw std::runtime_error("Expected object");
8268+ if (j.find("nonatomic") != j.end() && !j.at("nonatomic").is_number_integer()) throw std::runtime_error("Expected integer");
81138269 x.set_nonatomic(j.at("nonatomic").get<int64_t>());
81148270 }
81158271
@@ -8120,6 +8276,7 @@ namespace quicktype {
81208276
81218277 inline void from_json(const json & j, None& x) {
81228278 if (!j.is_object()) throw std::runtime_error("Expected object");
8279+ if (j.find("None") != j.end() && !j.at("None").is_number_integer()) throw std::runtime_error("Expected integer");
81238280 x.set_none(j.at("None").get<int64_t>());
81248281 }
81258282
@@ -8130,6 +8287,7 @@ namespace quicktype {
81308287
81318288 inline void from_json(const json & j, Nonlocal& x) {
81328289 if (!j.is_object()) throw std::runtime_error("Expected object");
8290+ if (j.find("nonlocal") != j.end() && !j.at("nonlocal").is_number_integer()) throw std::runtime_error("Expected integer");
81338291 x.set_nonlocal(j.at("nonlocal").get<int64_t>());
81348292 }
81358293
@@ -8140,6 +8298,7 @@ namespace quicktype {
81408298
81418299 inline void from_json(const json & j, Nonmutating& x) {
81428300 if (!j.is_object()) throw std::runtime_error("Expected object");
8301+ if (j.find("nonmutating") != j.end() && !j.at("nonmutating").is_number_integer()) throw std::runtime_error("Expected integer");
81438302 x.set_nonmutating(j.at("nonmutating").get<int64_t>());
81448303 }
81458304
@@ -8150,6 +8309,7 @@ namespace quicktype {
81508309
81518310 inline void from_json(const json & j, NsString& x) {
81528311 if (!j.is_object()) throw std::runtime_error("Expected object");
8312+ if (j.find("NSString") != j.end() && !j.at("NSString").is_number_integer()) throw std::runtime_error("Expected integer");
81538313 x.set_ns_string(j.at("NSString").get<int64_t>());
81548314 }
81558315
@@ -8160,6 +8320,7 @@ namespace quicktype {
81608320
81618321 inline void from_json(const json & j, Null& x) {
81628322 if (!j.is_object()) throw std::runtime_error("Expected object");
8323+ if (j.find("NULL") != j.end() && !j.at("NULL").is_number_integer()) throw std::runtime_error("Expected integer");
81638324 x.set_null(j.at("NULL").get<int64_t>());
81648325 }
81658326
@@ -8170,6 +8331,7 @@ namespace quicktype {
81708331
81718332 inline void from_json(const json & j, Number& x) {
81728333 if (!j.is_object()) throw std::runtime_error("Expected object");
8334+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
81738335 x.set_number(j.at("number").get<int64_t>());
81748336 }
81758337
@@ -8180,6 +8342,7 @@ namespace quicktype {
81808342
81818343 inline void from_json(const json & j, Long& x) {
81828344 if (!j.is_object()) throw std::runtime_error("Expected object");
8345+ if (j.find("long") != j.end() && !j.at("long").is_number_integer()) throw std::runtime_error("Expected integer");
81838346 x.set_long_long(j.at("long").get<int64_t>());
81848347 }
81858348
@@ -8190,6 +8353,7 @@ namespace quicktype {
81908353
81918354 inline void from_json(const json & j, Module& x) {
81928355 if (!j.is_object()) throw std::runtime_error("Expected object");
8356+ if (j.find("module") != j.end() && !j.at("module").is_number_integer()) throw std::runtime_error("Expected integer");
81938357 x.set_module_module(j.at("module").get<int64_t>());
81948358 }
81958359
@@ -8200,6 +8364,7 @@ namespace quicktype {
82008364
82018365 inline void from_json(const json & j, Mutable& x) {
82028366 if (!j.is_object()) throw std::runtime_error("Expected object");
8367+ if (j.find("mutable") != j.end() && !j.at("mutable").is_number_integer()) throw std::runtime_error("Expected integer");
82038368 x.set_mutable_mutable(j.at("mutable").get<int64_t>());
82048369 }
82058370
@@ -8210,6 +8375,7 @@ namespace quicktype {
82108375
82118376 inline void from_json(const json & j, Namespace& x) {
82128377 if (!j.is_object()) throw std::runtime_error("Expected object");
8378+ if (j.find("namespace") != j.end() && !j.at("namespace").is_number_integer()) throw std::runtime_error("Expected integer");
82138379 x.set_namespace_namespace(j.at("namespace").get<int64_t>());
82148380 }
82158381
@@ -8220,6 +8386,7 @@ namespace quicktype {
82208386
82218387 inline void from_json(const json & j, New& x) {
82228388 if (!j.is_object()) throw std::runtime_error("Expected object");
8389+ if (j.find("new") != j.end() && !j.at("new").is_number_integer()) throw std::runtime_error("Expected integer");
82238390 x.set_new_new(j.at("new").get<int64_t>());
82248391 }
82258392
@@ -8230,6 +8397,7 @@ namespace quicktype {
82308397
82318398 inline void from_json(const json & j, Noexcept& x) {
82328399 if (!j.is_object()) throw std::runtime_error("Expected object");
8400+ if (j.find("noexcept") != j.end() && !j.at("noexcept").is_number_integer()) throw std::runtime_error("Expected integer");
82338401 x.set_noexcept_noexcept(j.at("noexcept").get<int64_t>());
82348402 }
82358403
@@ -8240,6 +8408,7 @@ namespace quicktype {
82408408
82418409 inline void from_json(const json & j, NoneClass& x) {
82428410 if (!j.is_object()) throw std::runtime_error("Expected object");
8411+ if (j.find("none") != j.end() && !j.at("none").is_number_integer()) throw std::runtime_error("Expected integer");
82438412 x.set_none(j.at("none").get<int64_t>());
82448413 }
82458414
@@ -8250,6 +8419,7 @@ namespace quicktype {
82508419
82518420 inline void from_json(const json & j, Not& x) {
82528421 if (!j.is_object()) throw std::runtime_error("Expected object");
8422+ if (j.find("not") != j.end() && !j.at("not").is_number_integer()) throw std::runtime_error("Expected integer");
82538423 x.set_not_not(j.at("not").get<int64_t>());
82548424 }
82558425
@@ -8260,6 +8430,7 @@ namespace quicktype {
82608430
82618431 inline void from_json(const json & j, NotEq& x) {
82628432 if (!j.is_object()) throw std::runtime_error("Expected object");
8433+ if (j.find("not_eq") != j.end() && !j.at("not_eq").is_number_integer()) throw std::runtime_error("Expected integer");
82638434 x.set_not_eq_not_eq(j.at("not_eq").get<int64_t>());
82648435 }
82658436
@@ -8270,6 +8441,7 @@ namespace quicktype {
82708441
82718442 inline void from_json(const json & j, NullClass& x) {
82728443 if (!j.is_object()) throw std::runtime_error("Expected object");
8444+ if (j.find("null") != j.end() && !j.at("null").is_number_integer()) throw std::runtime_error("Expected integer");
82738445 x.set_null(j.at("null").get<int64_t>());
82748446 }
82758447
@@ -8280,6 +8452,7 @@ namespace quicktype {
82808452
82818453 inline void from_json(const json & j, Nullptr& x) {
82828454 if (!j.is_object()) throw std::runtime_error("Expected object");
8455+ if (j.find("nullptr") != j.end() && !j.at("nullptr").is_number_integer()) throw std::runtime_error("Expected integer");
82838456 x.set_nullptr_nullptr(j.at("nullptr").get<int64_t>());
82848457 }
82858458
@@ -8290,6 +8463,7 @@ namespace quicktype {
82908463
82918464 inline void from_json(const json & j, Operator& x) {
82928465 if (!j.is_object()) throw std::runtime_error("Expected object");
8466+ if (j.find("operator") != j.end() && !j.at("operator").is_number_integer()) throw std::runtime_error("Expected integer");
82938467 x.set_operator_operator(j.at("operator").get<int64_t>());
82948468 }
82958469
@@ -8300,6 +8474,7 @@ namespace quicktype {
83008474
83018475 inline void from_json(const json & j, Or& x) {
83028476 if (!j.is_object()) throw std::runtime_error("Expected object");
8477+ if (j.find("or") != j.end() && !j.at("or").is_number_integer()) throw std::runtime_error("Expected integer");
83038478 x.set_or_or(j.at("or").get<int64_t>());
83048479 }
83058480
@@ -8310,6 +8485,7 @@ namespace quicktype {
83108485
83118486 inline void from_json(const json & j, OrEq& x) {
83128487 if (!j.is_object()) throw std::runtime_error("Expected object");
8488+ if (j.find("or_eq") != j.end() && !j.at("or_eq").is_number_integer()) throw std::runtime_error("Expected integer");
83138489 x.set_or_eq_or_eq(j.at("or_eq").get<int64_t>());
83148490 }
83158491
@@ -8320,6 +8496,7 @@ namespace quicktype {
83208496
83218497 inline void from_json(const json & j, Override& x) {
83228498 if (!j.is_object()) throw std::runtime_error("Expected object");
8499+ if (j.find("override") != j.end() && !j.at("override").is_number_integer()) throw std::runtime_error("Expected integer");
83238500 x.set_override_override(j.at("override").get<int64_t>());
83248501 }
83258502
@@ -8330,6 +8507,7 @@ namespace quicktype {
83308507
83318508 inline void from_json(const json & j, Private& x) {
83328509 if (!j.is_object()) throw std::runtime_error("Expected object");
8510+ if (j.find("private") != j.end() && !j.at("private").is_number_integer()) throw std::runtime_error("Expected integer");
83338511 x.set_private_private(j.at("private").get<int64_t>());
83348512 }
83358513
@@ -8340,6 +8518,7 @@ namespace quicktype {
83408518
83418519 inline void from_json(const json & j, Protected& x) {
83428520 if (!j.is_object()) throw std::runtime_error("Expected object");
8521+ if (j.find("protected") != j.end() && !j.at("protected").is_number_integer()) throw std::runtime_error("Expected integer");
83438522 x.set_protected_protected(j.at("protected").get<int64_t>());
83448523 }
83458524
@@ -8350,6 +8529,7 @@ namespace quicktype {
83508529
83518530 inline void from_json(const json & j, ProtocolClass& x) {
83528531 if (!j.is_object()) throw std::runtime_error("Expected object");
8532+ if (j.find("protocol") != j.end() && !j.at("protocol").is_number_integer()) throw std::runtime_error("Expected integer");
83538533 x.set_protocol(j.at("protocol").get<int64_t>());
83548534 }
83558535
@@ -8360,6 +8540,7 @@ namespace quicktype {
83608540
83618541 inline void from_json(const json & j, Object& x) {
83628542 if (!j.is_object()) throw std::runtime_error("Expected object");
8543+ if (j.find("object") != j.end() && !j.at("object").is_number_integer()) throw std::runtime_error("Expected integer");
83638544 x.set_object(j.at("object").get<int64_t>());
83648545 }
83658546
@@ -8370,6 +8551,7 @@ namespace quicktype {
83708551
83718552 inline void from_json(const json & j, Of& x) {
83728553 if (!j.is_object()) throw std::runtime_error("Expected object");
8554+ if (j.find("of") != j.end() && !j.at("of").is_number_integer()) throw std::runtime_error("Expected integer");
83738555 x.set_of(j.at("of").get<int64_t>());
83748556 }
83758557
@@ -8380,6 +8562,7 @@ namespace quicktype {
83808562
83818563 inline void from_json(const json & j, Oneway& x) {
83828564 if (!j.is_object()) throw std::runtime_error("Expected object");
8565+ if (j.find("oneway") != j.end() && !j.at("oneway").is_number_integer()) throw std::runtime_error("Expected integer");
83838566 x.set_oneway(j.at("oneway").get<int64_t>());
83848567 }
83858568
@@ -8390,6 +8573,7 @@ namespace quicktype {
83908573
83918574 inline void from_json(const json & j, Open& x) {
83928575 if (!j.is_object()) throw std::runtime_error("Expected object");
8576+ if (j.find("open") != j.end() && !j.at("open").is_number_integer()) throw std::runtime_error("Expected integer");
83938577 x.set_open(j.at("open").get<int64_t>());
83948578 }
83958579
@@ -8400,6 +8584,7 @@ namespace quicktype {
84008584
84018585 inline void from_json(const json & j, Optional& x) {
84028586 if (!j.is_object()) throw std::runtime_error("Expected object");
8587+ if (j.find("optional") != j.end() && !j.at("optional").is_number_integer()) throw std::runtime_error("Expected integer");
84038588 x.set_optional(j.at("optional").get<int64_t>());
84048589 }
84058590
@@ -8410,6 +8595,7 @@ namespace quicktype {
84108595
84118596 inline void from_json(const json & j, Out& x) {
84128597 if (!j.is_object()) throw std::runtime_error("Expected object");
8598+ if (j.find("out") != j.end() && !j.at("out").is_number_integer()) throw std::runtime_error("Expected integer");
84138599 x.set_out(j.at("out").get<int64_t>());
84148600 }
84158601
@@ -8420,6 +8606,7 @@ namespace quicktype {
84208606
84218607 inline void from_json(const json & j, Package& x) {
84228608 if (!j.is_object()) throw std::runtime_error("Expected object");
8609+ if (j.find("package") != j.end() && !j.at("package").is_number_integer()) throw std::runtime_error("Expected integer");
84238610 x.set_package(j.at("package").get<int64_t>());
84248611 }
84258612
@@ -8430,6 +8617,7 @@ namespace quicktype {
84308617
84318618 inline void from_json(const json & j, Params& x) {
84328619 if (!j.is_object()) throw std::runtime_error("Expected object");
8620+ if (j.find("params") != j.end() && !j.at("params").is_number_integer()) throw std::runtime_error("Expected integer");
84338621 x.set_params(j.at("params").get<int64_t>());
84348622 }
84358623
@@ -8440,6 +8628,7 @@ namespace quicktype {
84408628
84418629 inline void from_json(const json & j, Pass& x) {
84428630 if (!j.is_object()) throw std::runtime_error("Expected object");
8631+ if (j.find("pass") != j.end() && !j.at("pass").is_number_integer()) throw std::runtime_error("Expected integer");
84438632 x.set_pass(j.at("pass").get<int64_t>());
84448633 }
84458634
@@ -8450,6 +8639,7 @@ namespace quicktype {
84508639
84518640 inline void from_json(const json & j, Port& x) {
84528641 if (!j.is_object()) throw std::runtime_error("Expected object");
8642+ if (j.find("port") != j.end() && !j.at("port").is_number_integer()) throw std::runtime_error("Expected integer");
84538643 x.set_port(j.at("port").get<int64_t>());
84548644 }
84558645
@@ -8460,6 +8650,7 @@ namespace quicktype {
84608650
84618651 inline void from_json(const json & j, Postfix& x) {
84628652 if (!j.is_object()) throw std::runtime_error("Expected object");
8653+ if (j.find("postfix") != j.end() && !j.at("postfix").is_number_integer()) throw std::runtime_error("Expected integer");
84638654 x.set_postfix(j.at("postfix").get<int64_t>());
84648655 }
84658656
@@ -8470,6 +8661,7 @@ namespace quicktype {
84708661
84718662 inline void from_json(const json & j, Precedence& x) {
84728663 if (!j.is_object()) throw std::runtime_error("Expected object");
8664+ if (j.find("precedence") != j.end() && !j.at("precedence").is_number_integer()) throw std::runtime_error("Expected integer");
84738665 x.set_precedence(j.at("precedence").get<int64_t>());
84748666 }
84758667
@@ -8480,6 +8672,7 @@ namespace quicktype {
84808672
84818673 inline void from_json(const json & j, Prefix& x) {
84828674 if (!j.is_object()) throw std::runtime_error("Expected object");
8675+ if (j.find("prefix") != j.end() && !j.at("prefix").is_number_integer()) throw std::runtime_error("Expected integer");
84838676 x.set_prefix(j.at("prefix").get<int64_t>());
84848677 }
84858678
@@ -8490,6 +8683,7 @@ namespace quicktype {
84908683
84918684 inline void from_json(const json & j, Print& x) {
84928685 if (!j.is_object()) throw std::runtime_error("Expected object");
8686+ if (j.find("print") != j.end() && !j.at("print").is_number_integer()) throw std::runtime_error("Expected integer");
84938687 x.set_print(j.at("print").get<int64_t>());
84948688 }
84958689
@@ -8500,6 +8694,7 @@ namespace quicktype {
85008694
85018695 inline void from_json(const json & j, PrintMembers& x) {
85028696 if (!j.is_object()) throw std::runtime_error("Expected object");
8697+ if (j.find("printMembers") != j.end() && !j.at("printMembers").is_number_integer()) throw std::runtime_error("Expected integer");
85038698 x.set_print_members(j.at("printMembers").get<int64_t>());
85048699 }
85058700
@@ -8510,6 +8705,7 @@ namespace quicktype {
85108705
85118706 inline void from_json(const json & j, Printf& x) {
85128707 if (!j.is_object()) throw std::runtime_error("Expected object");
8708+ if (j.find("printf") != j.end() && !j.at("printf").is_number_integer()) throw std::runtime_error("Expected integer");
85138709 x.set_printf(j.at("printf").get<int64_t>());
85148710 }
85158711
@@ -8520,6 +8716,7 @@ namespace quicktype {
85208716
85218717 inline void from_json(const json & j, Protocol& x) {
85228718 if (!j.is_object()) throw std::runtime_error("Expected object");
8719+ if (j.find("Protocol") != j.end() && !j.at("Protocol").is_number_integer()) throw std::runtime_error("Expected integer");
85238720 x.set_protocol(j.at("Protocol").get<int64_t>());
85248721 }
85258722
@@ -8530,6 +8727,7 @@ namespace quicktype {
85308727
85318728 inline void from_json(const json & j, Obj3& x) {
85328729 if (!j.is_object()) throw std::runtime_error("Expected object");
8730+ if (j.find("dummy") != j.end() && !j.at("dummy").is_number_integer()) throw std::runtime_error("Expected integer");
85338731 x.set_dummy(j.at("dummy").get<int64_t>());
85348732 x.set_is(j.at("is").get<Is>());
85358733 x.set_iterable(j.at("iterable").get<Iterable>());
@@ -8670,6 +8868,7 @@ namespace quicktype {
86708868
86718869 inline void from_json(const json & j, Public& x) {
86728870 if (!j.is_object()) throw std::runtime_error("Expected object");
8871+ if (j.find("public") != j.end() && !j.at("public").is_number_integer()) throw std::runtime_error("Expected integer");
86738872 x.set_public_public(j.at("public").get<int64_t>());
86748873 }
86758874
@@ -8680,6 +8879,7 @@ namespace quicktype {
86808879
86818880 inline void from_json(const json & j, Register& x) {
86828881 if (!j.is_object()) throw std::runtime_error("Expected object");
8882+ if (j.find("register") != j.end() && !j.at("register").is_number_integer()) throw std::runtime_error("Expected integer");
86838883 x.set_register_register(j.at("register").get<int64_t>());
86848884 }
86858885
@@ -8690,6 +8890,7 @@ namespace quicktype {
86908890
86918891 inline void from_json(const json & j, ReinterpretCast& x) {
86928892 if (!j.is_object()) throw std::runtime_error("Expected object");
8893+ if (j.find("reinterpret_cast") != j.end() && !j.at("reinterpret_cast").is_number_integer()) throw std::runtime_error("Expected integer");
86938894 x.set_reinterpret_cast_reinterpret_cast(j.at("reinterpret_cast").get<int64_t>());
86948895 }
86958896
@@ -8700,6 +8901,7 @@ namespace quicktype {
87008901
87018902 inline void from_json(const json & j, Requires& x) {
87028903 if (!j.is_object()) throw std::runtime_error("Expected object");
8904+ if (j.find("requires") != j.end() && !j.at("requires").is_number_integer()) throw std::runtime_error("Expected integer");
87038905 x.set_requires_requires(j.at("requires").get<int64_t>());
87048906 }
87058907
@@ -8710,6 +8912,7 @@ namespace quicktype {
87108912
87118913 inline void from_json(const json & j, Return& x) {
87128914 if (!j.is_object()) throw std::runtime_error("Expected object");
8915+ if (j.find("return") != j.end() && !j.at("return").is_number_integer()) throw std::runtime_error("Expected integer");
87138916 x.set_return_return(j.at("return").get<int64_t>());
87148917 }
87158918
@@ -8720,6 +8923,7 @@ namespace quicktype {
87208923
87218924 inline void from_json(const json & j, SelfClass& x) {
87228925 if (!j.is_object()) throw std::runtime_error("Expected object");
8926+ if (j.find("self") != j.end() && !j.at("self").is_number_integer()) throw std::runtime_error("Expected integer");
87238927 x.set_self(j.at("self").get<int64_t>());
87248928 }
87258929
@@ -8730,6 +8934,7 @@ namespace quicktype {
87308934
87318935 inline void from_json(const json & j, Short& x) {
87328936 if (!j.is_object()) throw std::runtime_error("Expected object");
8937+ if (j.find("short") != j.end() && !j.at("short").is_number_integer()) throw std::runtime_error("Expected integer");
87338938 x.set_short_short(j.at("short").get<int64_t>());
87348939 }
87358940
@@ -8740,6 +8945,7 @@ namespace quicktype {
87408945
87418946 inline void from_json(const json & j, Signed& x) {
87428947 if (!j.is_object()) throw std::runtime_error("Expected object");
8948+ if (j.find("signed") != j.end() && !j.at("signed").is_number_integer()) throw std::runtime_error("Expected integer");
87438949 x.set_signed_signed(j.at("signed").get<int64_t>());
87448950 }
87458951
@@ -8750,6 +8956,7 @@ namespace quicktype {
87508956
87518957 inline void from_json(const json & j, Sizeof& x) {
87528958 if (!j.is_object()) throw std::runtime_error("Expected object");
8959+ if (j.find("sizeof") != j.end() && !j.at("sizeof").is_number_integer()) throw std::runtime_error("Expected integer");
87538960 x.set_sizeof_sizeof(j.at("sizeof").get<int64_t>());
87548961 }
87558962
@@ -8760,6 +8967,7 @@ namespace quicktype {
87608967
87618968 inline void from_json(const json & j, Static& x) {
87628969 if (!j.is_object()) throw std::runtime_error("Expected object");
8970+ if (j.find("static") != j.end() && !j.at("static").is_number_integer()) throw std::runtime_error("Expected integer");
87638971 x.set_static_static(j.at("static").get<int64_t>());
87648972 }
87658973
@@ -8770,6 +8978,7 @@ namespace quicktype {
87708978
87718979 inline void from_json(const json & j, StaticAssert& x) {
87728980 if (!j.is_object()) throw std::runtime_error("Expected object");
8981+ if (j.find("static_assert") != j.end() && !j.at("static_assert").is_number_integer()) throw std::runtime_error("Expected integer");
87738982 x.set_static_assert_static_assert(j.at("static_assert").get<int64_t>());
87748983 }
87758984
@@ -8780,6 +8989,7 @@ namespace quicktype {
87808989
87818990 inline void from_json(const json & j, StaticCast& x) {
87828991 if (!j.is_object()) throw std::runtime_error("Expected object");
8992+ if (j.find("static_cast") != j.end() && !j.at("static_cast").is_number_integer()) throw std::runtime_error("Expected integer");
87838993 x.set_static_cast_static_cast(j.at("static_cast").get<int64_t>());
87848994 }
87858995
@@ -8790,6 +9000,7 @@ namespace quicktype {
87909000
87919001 inline void from_json(const json & j, Struct& x) {
87929002 if (!j.is_object()) throw std::runtime_error("Expected object");
9003+ if (j.find("struct") != j.end() && !j.at("struct").is_number_integer()) throw std::runtime_error("Expected integer");
87939004 x.set_struct_struct(j.at("struct").get<int64_t>());
87949005 }
87959006
@@ -8800,6 +9011,7 @@ namespace quicktype {
88009011
88019012 inline void from_json(const json & j, Switch& x) {
88029013 if (!j.is_object()) throw std::runtime_error("Expected object");
9014+ if (j.find("switch") != j.end() && !j.at("switch").is_number_integer()) throw std::runtime_error("Expected integer");
88039015 x.set_switch_switch(j.at("switch").get<int64_t>());
88049016 }
88059017
@@ -8810,6 +9022,7 @@ namespace quicktype {
88109022
88119023 inline void from_json(const json & j, Synchronized& x) {
88129024 if (!j.is_object()) throw std::runtime_error("Expected object");
9025+ if (j.find("synchronized") != j.end() && !j.at("synchronized").is_number_integer()) throw std::runtime_error("Expected integer");
88139026 x.set_synchronized_synchronized(j.at("synchronized").get<int64_t>());
88149027 }
88159028
@@ -8820,6 +9033,7 @@ namespace quicktype {
88209033
88219034 inline void from_json(const json & j, Template& x) {
88229035 if (!j.is_object()) throw std::runtime_error("Expected object");
9036+ if (j.find("template") != j.end() && !j.at("template").is_number_integer()) throw std::runtime_error("Expected integer");
88239037 x.set_template_template(j.at("template").get<int64_t>());
88249038 }
88259039
@@ -8830,6 +9044,7 @@ namespace quicktype {
88309044
88319045 inline void from_json(const json & j, This& x) {
88329046 if (!j.is_object()) throw std::runtime_error("Expected object");
9047+ if (j.find("this") != j.end() && !j.at("this").is_number_integer()) throw std::runtime_error("Expected integer");
88339048 x.set_this_this(j.at("this").get<int64_t>());
88349049 }
88359050
@@ -8840,6 +9055,7 @@ namespace quicktype {
88409055
88419056 inline void from_json(const json & j, ThreadLocal& x) {
88429057 if (!j.is_object()) throw std::runtime_error("Expected object");
9058+ if (j.find("thread_local") != j.end() && !j.at("thread_local").is_number_integer()) throw std::runtime_error("Expected integer");
88439059 x.set_thread_local_thread_local(j.at("thread_local").get<int64_t>());
88449060 }
88459061
@@ -8850,6 +9066,7 @@ namespace quicktype {
88509066
88519067 inline void from_json(const json & j, Throw& x) {
88529068 if (!j.is_object()) throw std::runtime_error("Expected object");
9069+ if (j.find("throw") != j.end() && !j.at("throw").is_number_integer()) throw std::runtime_error("Expected integer");
88539070 x.set_throw_throw(j.at("throw").get<int64_t>());
88549071 }
88559072
@@ -8860,6 +9077,7 @@ namespace quicktype {
88609077
88619078 inline void from_json(const json & j, True& x) {
88629079 if (!j.is_object()) throw std::runtime_error("Expected object");
9080+ if (j.find("True") != j.end() && !j.at("True").is_number_integer()) throw std::runtime_error("Expected integer");
88639081 x.set_true_true(j.at("True").get<int64_t>());
88649082 }
88659083
@@ -8870,6 +9088,7 @@ namespace quicktype {
88709088
88719089 inline void from_json(const json & j, Try& x) {
88729090 if (!j.is_object()) throw std::runtime_error("Expected object");
9091+ if (j.find("try") != j.end() && !j.at("try").is_number_integer()) throw std::runtime_error("Expected integer");
88739092 x.set_try_try(j.at("try").get<int64_t>());
88749093 }
88759094
@@ -8880,6 +9099,7 @@ namespace quicktype {
88809099
88819100 inline void from_json(const json & j, TypeClass& x) {
88829101 if (!j.is_object()) throw std::runtime_error("Expected object");
9102+ if (j.find("type") != j.end() && !j.at("type").is_number_integer()) throw std::runtime_error("Expected integer");
88839103 x.set_type(j.at("type").get<int64_t>());
88849104 }
88859105
@@ -8890,6 +9110,7 @@ namespace quicktype {
88909110
88919111 inline void from_json(const json & j, Typedef& x) {
88929112 if (!j.is_object()) throw std::runtime_error("Expected object");
9113+ if (j.find("typedef") != j.end() && !j.at("typedef").is_number_integer()) throw std::runtime_error("Expected integer");
88939114 x.set_typedef_typedef(j.at("typedef").get<int64_t>());
88949115 }
88959116
@@ -8900,6 +9121,7 @@ namespace quicktype {
89009121
89019122 inline void from_json(const json & j, Typeid& x) {
89029123 if (!j.is_object()) throw std::runtime_error("Expected object");
9124+ if (j.find("typeid") != j.end() && !j.at("typeid").is_number_integer()) throw std::runtime_error("Expected integer");
89039125 x.set_typeid_typeid(j.at("typeid").get<int64_t>());
89049126 }
89059127
@@ -8910,6 +9132,7 @@ namespace quicktype {
89109132
89119133 inline void from_json(const json & j, Typename& x) {
89129134 if (!j.is_object()) throw std::runtime_error("Expected object");
9135+ if (j.find("typename") != j.end() && !j.at("typename").is_number_integer()) throw std::runtime_error("Expected integer");
89139136 x.set_typename_typename(j.at("typename").get<int64_t>());
89149137 }
89159138
@@ -8920,6 +9143,7 @@ namespace quicktype {
89209143
89219144 inline void from_json(const json & j, TrueClass& x) {
89229145 if (!j.is_object()) throw std::runtime_error("Expected object");
9146+ if (j.find("true") != j.end() && !j.at("true").is_number_integer()) throw std::runtime_error("Expected integer");
89239147 x.set_true_true(j.at("true").get<int64_t>());
89249148 }
89259149
@@ -8930,6 +9154,7 @@ namespace quicktype {
89309154
89319155 inline void from_json(const json & j, Quicktype& x) {
89329156 if (!j.is_object()) throw std::runtime_error("Expected object");
9157+ if (j.find("quicktype") != j.end() && !j.at("quicktype").is_number_integer()) throw std::runtime_error("Expected integer");
89339158 x.set_quicktype(j.at("quicktype").get<int64_t>());
89349159 }
89359160
@@ -8940,6 +9165,7 @@ namespace quicktype {
89409165
89419166 inline void from_json(const json & j, Raise& x) {
89429167 if (!j.is_object()) throw std::runtime_error("Expected object");
9168+ if (j.find("raise") != j.end() && !j.at("raise").is_number_integer()) throw std::runtime_error("Expected integer");
89439169 x.set_raise(j.at("raise").get<int64_t>());
89449170 }
89459171
@@ -8950,6 +9176,7 @@ namespace quicktype {
89509176
89519177 inline void from_json(const json & j, Range& x) {
89529178 if (!j.is_object()) throw std::runtime_error("Expected object");
9179+ if (j.find("range") != j.end() && !j.at("range").is_number_integer()) throw std::runtime_error("Expected integer");
89539180 x.set_range(j.at("range").get<int64_t>());
89549181 }
89559182
@@ -8960,6 +9187,7 @@ namespace quicktype {
89609187
89619188 inline void from_json(const json & j, Readonly& x) {
89629189 if (!j.is_object()) throw std::runtime_error("Expected object");
9190+ if (j.find("readonly") != j.end() && !j.at("readonly").is_number_integer()) throw std::runtime_error("Expected integer");
89639191 x.set_readonly(j.at("readonly").get<int64_t>());
89649192 }
89659193
@@ -8970,6 +9198,7 @@ namespace quicktype {
89709198
89719199 inline void from_json(const json & j, Ref& x) {
89729200 if (!j.is_object()) throw std::runtime_error("Expected object");
9201+ if (j.find("ref") != j.end() && !j.at("ref").is_number_integer()) throw std::runtime_error("Expected integer");
89739202 x.set_ref(j.at("ref").get<int64_t>());
89749203 }
89759204
@@ -8980,6 +9209,7 @@ namespace quicktype {
89809209
89819210 inline void from_json(const json & j, Repeat& x) {
89829211 if (!j.is_object()) throw std::runtime_error("Expected object");
9212+ if (j.find("repeat") != j.end() && !j.at("repeat").is_number_integer()) throw std::runtime_error("Expected integer");
89839213 x.set_repeat(j.at("repeat").get<int64_t>());
89849214 }
89859215
@@ -8990,6 +9220,7 @@ namespace quicktype {
89909220
89919221 inline void from_json(const json & j, Require& x) {
89929222 if (!j.is_object()) throw std::runtime_error("Expected object");
9223+ if (j.find("require") != j.end() && !j.at("require").is_number_integer()) throw std::runtime_error("Expected integer");
89939224 x.set_require(j.at("require").get<int64_t>());
89949225 }
89959226
@@ -9000,6 +9231,7 @@ namespace quicktype {
90009231
90019232 inline void from_json(const json & j, Required& x) {
90029233 if (!j.is_object()) throw std::runtime_error("Expected object");
9234+ if (j.find("required") != j.end() && !j.at("required").is_number_integer()) throw std::runtime_error("Expected integer");
90039235 x.set_required(j.at("required").get<int64_t>());
90049236 }
90059237
@@ -9010,6 +9242,7 @@ namespace quicktype {
90109242
90119243 inline void from_json(const json & j, Restrict& x) {
90129244 if (!j.is_object()) throw std::runtime_error("Expected object");
9245+ if (j.find("restrict") != j.end() && !j.at("restrict").is_number_integer()) throw std::runtime_error("Expected integer");
90139246 x.set_restrict(j.at("restrict").get<int64_t>());
90149247 }
90159248
@@ -9020,6 +9253,7 @@ namespace quicktype {
90209253
90219254 inline void from_json(const json & j, Retain& x) {
90229255 if (!j.is_object()) throw std::runtime_error("Expected object");
9256+ if (j.find("retain") != j.end() && !j.at("retain").is_number_integer()) throw std::runtime_error("Expected integer");
90239257 x.set_retain(j.at("retain").get<int64_t>());
90249258 }
90259259
@@ -9030,6 +9264,7 @@ namespace quicktype {
90309264
90319265 inline void from_json(const json & j, Rethrows& x) {
90329266 if (!j.is_object()) throw std::runtime_error("Expected object");
9267+ if (j.find("rethrows") != j.end() && !j.at("rethrows").is_number_integer()) throw std::runtime_error("Expected integer");
90339268 x.set_rethrows(j.at("rethrows").get<int64_t>());
90349269 }
90359270
@@ -9040,6 +9275,7 @@ namespace quicktype {
90409275
90419276 inline void from_json(const json & j, Right& x) {
90429277 if (!j.is_object()) throw std::runtime_error("Expected object");
9278+ if (j.find("right") != j.end() && !j.at("right").is_number_integer()) throw std::runtime_error("Expected integer");
90439279 x.set_right(j.at("right").get<int64_t>());
90449280 }
90459281
@@ -9050,6 +9286,7 @@ namespace quicktype {
90509286
90519287 inline void from_json(const json & j, Sbyte& x) {
90529288 if (!j.is_object()) throw std::runtime_error("Expected object");
9289+ if (j.find("sbyte") != j.end() && !j.at("sbyte").is_number_integer()) throw std::runtime_error("Expected integer");
90539290 x.set_sbyte(j.at("sbyte").get<int64_t>());
90549291 }
90559292
@@ -9060,6 +9297,7 @@ namespace quicktype {
90609297
90619298 inline void from_json(const json & j, Sealed& x) {
90629299 if (!j.is_object()) throw std::runtime_error("Expected object");
9300+ if (j.find("sealed") != j.end() && !j.at("sealed").is_number_integer()) throw std::runtime_error("Expected integer");
90639301 x.set_sealed(j.at("sealed").get<int64_t>());
90649302 }
90659303
@@ -9070,6 +9308,7 @@ namespace quicktype {
90709308
90719309 inline void from_json(const json & j, Sel& x) {
90729310 if (!j.is_object()) throw std::runtime_error("Expected object");
9311+ if (j.find("SEL") != j.end() && !j.at("SEL").is_number_integer()) throw std::runtime_error("Expected integer");
90739312 x.set_sel(j.at("SEL").get<int64_t>());
90749313 }
90759314
@@ -9080,6 +9319,7 @@ namespace quicktype {
90809319
90819320 inline void from_json(const json & j, Select& x) {
90829321 if (!j.is_object()) throw std::runtime_error("Expected object");
9322+ if (j.find("select") != j.end() && !j.at("select").is_number_integer()) throw std::runtime_error("Expected integer");
90839323 x.set_select(j.at("select").get<int64_t>());
90849324 }
90859325
@@ -9090,6 +9330,7 @@ namespace quicktype {
90909330
90919331 inline void from_json(const json & j, Self& x) {
90929332 if (!j.is_object()) throw std::runtime_error("Expected object");
9333+ if (j.find("Self") != j.end() && !j.at("Self").is_number_integer()) throw std::runtime_error("Expected integer");
90939334 x.set_self(j.at("Self").get<int64_t>());
90949335 }
90959336
@@ -9100,6 +9341,7 @@ namespace quicktype {
91009341
91019342 inline void from_json(const json & j, Serialize& x) {
91029343 if (!j.is_object()) throw std::runtime_error("Expected object");
9344+ if (j.find("serialize") != j.end() && !j.at("serialize").is_number_integer()) throw std::runtime_error("Expected integer");
91039345 x.set_serialize(j.at("serialize").get<int64_t>());
91049346 }
91059347
@@ -9110,6 +9352,7 @@ namespace quicktype {
91109352
91119353 inline void from_json(const json & j, Set& x) {
91129354 if (!j.is_object()) throw std::runtime_error("Expected object");
9355+ if (j.find("set") != j.end() && !j.at("set").is_number_integer()) throw std::runtime_error("Expected integer");
91139356 x.set_set(j.at("set").get<int64_t>());
91149357 }
91159358
@@ -9120,6 +9363,7 @@ namespace quicktype {
91209363
91219364 inline void from_json(const json & j, Stackalloc& x) {
91229365 if (!j.is_object()) throw std::runtime_error("Expected object");
9366+ if (j.find("stackalloc") != j.end() && !j.at("stackalloc").is_number_integer()) throw std::runtime_error("Expected integer");
91239367 x.set_stackalloc(j.at("stackalloc").get<int64_t>());
91249368 }
91259369
@@ -9130,6 +9374,7 @@ namespace quicktype {
91309374
91319375 inline void from_json(const json & j, Strictfp& x) {
91329376 if (!j.is_object()) throw std::runtime_error("Expected object");
9377+ if (j.find("strictfp") != j.end() && !j.at("strictfp").is_number_integer()) throw std::runtime_error("Expected integer");
91339378 x.set_strictfp(j.at("strictfp").get<int64_t>());
91349379 }
91359380
@@ -9140,6 +9385,7 @@ namespace quicktype {
91409385
91419386 inline void from_json(const json & j, String& x) {
91429387 if (!j.is_object()) throw std::runtime_error("Expected object");
9388+ if (j.find("string") != j.end() && !j.at("string").is_number_integer()) throw std::runtime_error("Expected integer");
91439389 x.set_string(j.at("string").get<int64_t>());
91449390 }
91459391
@@ -9150,6 +9396,7 @@ namespace quicktype {
91509396
91519397 inline void from_json(const json & j, Subscript& x) {
91529398 if (!j.is_object()) throw std::runtime_error("Expected object");
9399+ if (j.find("subscript") != j.end() && !j.at("subscript").is_number_integer()) throw std::runtime_error("Expected integer");
91539400 x.set_subscript(j.at("subscript").get<int64_t>());
91549401 }
91559402
@@ -9160,6 +9407,7 @@ namespace quicktype {
91609407
91619408 inline void from_json(const json & j, Super& x) {
91629409 if (!j.is_object()) throw std::runtime_error("Expected object");
9410+ if (j.find("super") != j.end() && !j.at("super").is_number_integer()) throw std::runtime_error("Expected integer");
91639411 x.set_super(j.at("super").get<int64_t>());
91649412 }
91659413
@@ -9170,6 +9418,7 @@ namespace quicktype {
91709418
91719419 inline void from_json(const json & j, Symbol& x) {
91729420 if (!j.is_object()) throw std::runtime_error("Expected object");
9421+ if (j.find("symbol") != j.end() && !j.at("symbol").is_number_integer()) throw std::runtime_error("Expected integer");
91739422 x.set_symbol(j.at("symbol").get<int64_t>());
91749423 }
91759424
@@ -9180,6 +9429,7 @@ namespace quicktype {
91809429
91819430 inline void from_json(const json & j, System& x) {
91829431 if (!j.is_object()) throw std::runtime_error("Expected object");
9432+ if (j.find("system") != j.end() && !j.at("system").is_number_integer()) throw std::runtime_error("Expected integer");
91839433 x.set_system(j.at("system").get<int64_t>());
91849434 }
91859435
@@ -9190,6 +9440,7 @@ namespace quicktype {
91909440
91919441 inline void from_json(const json & j, Then& x) {
91929442 if (!j.is_object()) throw std::runtime_error("Expected object");
9443+ if (j.find("then") != j.end() && !j.at("then").is_number_integer()) throw std::runtime_error("Expected integer");
91939444 x.set_then(j.at("then").get<int64_t>());
91949445 }
91959446
@@ -9200,6 +9451,7 @@ namespace quicktype {
92009451
92019452 inline void from_json(const json & j, Throws& x) {
92029453 if (!j.is_object()) throw std::runtime_error("Expected object");
9454+ if (j.find("throws") != j.end() && !j.at("throws").is_number_integer()) throw std::runtime_error("Expected integer");
92039455 x.set_throws(j.at("throws").get<int64_t>());
92049456 }
92059457
@@ -9210,6 +9462,7 @@ namespace quicktype {
92109462
92119463 inline void from_json(const json & j, ToJson& x) {
92129464 if (!j.is_object()) throw std::runtime_error("Expected object");
9465+ if (j.find("to_json") != j.end() && !j.at("to_json").is_number_integer()) throw std::runtime_error("Expected integer");
92139466 x.set_to_json(j.at("to_json").get<int64_t>());
92149467 }
92159468
@@ -9220,6 +9473,7 @@ namespace quicktype {
92209473
92219474 inline void from_json(const json & j, TopLevelClass& x) {
92229475 if (!j.is_object()) throw std::runtime_error("Expected object");
9476+ if (j.find("top_level") != j.end() && !j.at("top_level").is_number_integer()) throw std::runtime_error("Expected integer");
92239477 x.set_top_level(j.at("top_level").get<int64_t>());
92249478 }
92259479
@@ -9230,6 +9484,7 @@ namespace quicktype {
92309484
92319485 inline void from_json(const json & j, Transient& x) {
92329486 if (!j.is_object()) throw std::runtime_error("Expected object");
9487+ if (j.find("transient") != j.end() && !j.at("transient").is_number_integer()) throw std::runtime_error("Expected integer");
92339488 x.set_transient(j.at("transient").get<int64_t>());
92349489 }
92359490
@@ -9240,6 +9495,7 @@ namespace quicktype {
92409495
92419496 inline void from_json(const json & j, Type& x) {
92429497 if (!j.is_object()) throw std::runtime_error("Expected object");
9498+ if (j.find("Type") != j.end() && !j.at("Type").is_number_integer()) throw std::runtime_error("Expected integer");
92439499 x.set_type(j.at("Type").get<int64_t>());
92449500 }
92459501
@@ -9250,6 +9506,7 @@ namespace quicktype {
92509506
92519507 inline void from_json(const json & j, Typealias& x) {
92529508 if (!j.is_object()) throw std::runtime_error("Expected object");
9509+ if (j.find("typealias") != j.end() && !j.at("typealias").is_number_integer()) throw std::runtime_error("Expected integer");
92539510 x.set_typealias(j.at("typealias").get<int64_t>());
92549511 }
92559512
@@ -9260,6 +9517,7 @@ namespace quicktype {
92609517
92619518 inline void from_json(const json & j, Typeof& x) {
92629519 if (!j.is_object()) throw std::runtime_error("Expected object");
9520+ if (j.find("typeof") != j.end() && !j.at("typeof").is_number_integer()) throw std::runtime_error("Expected integer");
92639521 x.set_typeof(j.at("typeof").get<int64_t>());
92649522 }
92659523
@@ -9270,6 +9528,7 @@ namespace quicktype {
92709528
92719529 inline void from_json(const json & j, Uint& x) {
92729530 if (!j.is_object()) throw std::runtime_error("Expected object");
9531+ if (j.find("uint") != j.end() && !j.at("uint").is_number_integer()) throw std::runtime_error("Expected integer");
92739532 x.set_uint(j.at("uint").get<int64_t>());
92749533 }
92759534
@@ -9280,6 +9539,7 @@ namespace quicktype {
92809539
92819540 inline void from_json(const json & j, Ulong& x) {
92829541 if (!j.is_object()) throw std::runtime_error("Expected object");
9542+ if (j.find("ulong") != j.end() && !j.at("ulong").is_number_integer()) throw std::runtime_error("Expected integer");
92839543 x.set_ulong(j.at("ulong").get<int64_t>());
92849544 }
92859545
@@ -9290,6 +9550,7 @@ namespace quicktype {
92909550
92919551 inline void from_json(const json & j, Unchecked& x) {
92929552 if (!j.is_object()) throw std::runtime_error("Expected object");
9553+ if (j.find("unchecked") != j.end() && !j.at("unchecked").is_number_integer()) throw std::runtime_error("Expected integer");
92939554 x.set_unchecked(j.at("unchecked").get<int64_t>());
92949555 }
92959556
@@ -9300,6 +9561,7 @@ namespace quicktype {
93009561
93019562 inline void from_json(const json & j, Undefined& x) {
93029563 if (!j.is_object()) throw std::runtime_error("Expected object");
9564+ if (j.find("undefined") != j.end() && !j.at("undefined").is_number_integer()) throw std::runtime_error("Expected integer");
93039565 x.set_undefined(j.at("undefined").get<int64_t>());
93049566 }
93059567
@@ -9310,6 +9572,7 @@ namespace quicktype {
93109572
93119573 inline void from_json(const json & j, Obj4& x) {
93129574 if (!j.is_object()) throw std::runtime_error("Expected object");
9575+ if (j.find("dummy") != j.end() && !j.at("dummy").is_number_integer()) throw std::runtime_error("Expected integer");
93139576 x.set_dummy(j.at("dummy").get<int64_t>());
93149577 x.set_obj4_public(j.at("public").get<Public>());
93159578 x.set_obj4_register(j.at("register").get<Register>());
@@ -9448,6 +9711,7 @@ namespace quicktype {
94489711
94499712 inline void from_json(const json & j, Union& x) {
94509713 if (!j.is_object()) throw std::runtime_error("Expected object");
9714+ if (j.find("union") != j.end() && !j.at("union").is_number_integer()) throw std::runtime_error("Expected integer");
94519715 x.set_union_union(j.at("union").get<int64_t>());
94529716 }
94539717
@@ -9458,6 +9722,7 @@ namespace quicktype {
94589722
94599723 inline void from_json(const json & j, Unsigned& x) {
94609724 if (!j.is_object()) throw std::runtime_error("Expected object");
9725+ if (j.find("unsigned") != j.end() && !j.at("unsigned").is_number_integer()) throw std::runtime_error("Expected integer");
94619726 x.set_unsigned_unsigned(j.at("unsigned").get<int64_t>());
94629727 }
94639728
@@ -9468,6 +9733,7 @@ namespace quicktype {
94689733
94699734 inline void from_json(const json & j, Using& x) {
94709735 if (!j.is_object()) throw std::runtime_error("Expected object");
9736+ if (j.find("using") != j.end() && !j.at("using").is_number_integer()) throw std::runtime_error("Expected integer");
94719737 x.set_using_using(j.at("using").get<int64_t>());
94729738 }
94739739
@@ -9478,6 +9744,7 @@ namespace quicktype {
94789744
94799745 inline void from_json(const json & j, Virtual& x) {
94809746 if (!j.is_object()) throw std::runtime_error("Expected object");
9747+ if (j.find("virtual") != j.end() && !j.at("virtual").is_number_integer()) throw std::runtime_error("Expected integer");
94819748 x.set_virtual_virtual(j.at("virtual").get<int64_t>());
94829749 }
94839750
@@ -9488,6 +9755,7 @@ namespace quicktype {
94889755
94899756 inline void from_json(const json & j, Void& x) {
94909757 if (!j.is_object()) throw std::runtime_error("Expected object");
9758+ if (j.find("void") != j.end() && !j.at("void").is_number_integer()) throw std::runtime_error("Expected integer");
94919759 x.set_void_void(j.at("void").get<int64_t>());
94929760 }
94939761
@@ -9498,6 +9766,7 @@ namespace quicktype {
94989766
94999767 inline void from_json(const json & j, Volatile& x) {
95009768 if (!j.is_object()) throw std::runtime_error("Expected object");
9769+ if (j.find("volatile") != j.end() && !j.at("volatile").is_number_integer()) throw std::runtime_error("Expected integer");
95019770 x.set_volatile_volatile(j.at("volatile").get<int64_t>());
95029771 }
95039772
@@ -9508,6 +9777,7 @@ namespace quicktype {
95089777
95099778 inline void from_json(const json & j, WcharT& x) {
95109779 if (!j.is_object()) throw std::runtime_error("Expected object");
9780+ if (j.find("wchar_t") != j.end() && !j.at("wchar_t").is_number_integer()) throw std::runtime_error("Expected integer");
95119781 x.set_wchar_t_wchar_t(j.at("wchar_t").get<int64_t>());
95129782 }
95139783
@@ -9518,6 +9788,7 @@ namespace quicktype {
95189788
95199789 inline void from_json(const json & j, While& x) {
95209790 if (!j.is_object()) throw std::runtime_error("Expected object");
9791+ if (j.find("while") != j.end() && !j.at("while").is_number_integer()) throw std::runtime_error("Expected integer");
95219792 x.set_while_while(j.at("while").get<int64_t>());
95229793 }
95239794
@@ -9528,6 +9799,7 @@ namespace quicktype {
95289799
95299800 inline void from_json(const json & j, Xor& x) {
95309801 if (!j.is_object()) throw std::runtime_error("Expected object");
9802+ if (j.find("xor") != j.end() && !j.at("xor").is_number_integer()) throw std::runtime_error("Expected integer");
95319803 x.set_xor_xor(j.at("xor").get<int64_t>());
95329804 }
95339805
@@ -9538,6 +9810,7 @@ namespace quicktype {
95389810
95399811 inline void from_json(const json & j, XorEq& x) {
95409812 if (!j.is_object()) throw std::runtime_error("Expected object");
9813+ if (j.find("xor_eq") != j.end() && !j.at("xor_eq").is_number_integer()) throw std::runtime_error("Expected integer");
95419814 x.set_xor_eq_xor_eq(j.at("xor_eq").get<int64_t>());
95429815 }
95439816
@@ -9548,6 +9821,7 @@ namespace quicktype {
95489821
95499822 inline void from_json(const json & j, Unowned& x) {
95509823 if (!j.is_object()) throw std::runtime_error("Expected object");
9824+ if (j.find("unowned") != j.end() && !j.at("unowned").is_number_integer()) throw std::runtime_error("Expected integer");
95519825 x.set_unowned(j.at("unowned").get<int64_t>());
95529826 }
95539827
@@ -9558,6 +9832,7 @@ namespace quicktype {
95589832
95599833 inline void from_json(const json & j, Unsafe& x) {
95609834 if (!j.is_object()) throw std::runtime_error("Expected object");
9835+ if (j.find("unsafe") != j.end() && !j.at("unsafe").is_number_integer()) throw std::runtime_error("Expected integer");
95619836 x.set_unsafe(j.at("unsafe").get<int64_t>());
95629837 }
95639838
@@ -9568,6 +9843,7 @@ namespace quicktype {
95689843
95699844 inline void from_json(const json & j, Ushort& x) {
95709845 if (!j.is_object()) throw std::runtime_error("Expected object");
9846+ if (j.find("ushort") != j.end() && !j.at("ushort").is_number_integer()) throw std::runtime_error("Expected integer");
95719847 x.set_ushort(j.at("ushort").get<int64_t>());
95729848 }
95739849
@@ -9578,6 +9854,7 @@ namespace quicktype {
95789854
95799855 inline void from_json(const json & j, Var& x) {
95809856 if (!j.is_object()) throw std::runtime_error("Expected object");
9857+ if (j.find("var") != j.end() && !j.at("var").is_number_integer()) throw std::runtime_error("Expected integer");
95819858 x.set_var(j.at("var").get<int64_t>());
95829859 }
95839860
@@ -9588,6 +9865,7 @@ namespace quicktype {
95889865
95899866 inline void from_json(const json & j, Weak& x) {
95909867 if (!j.is_object()) throw std::runtime_error("Expected object");
9868+ if (j.find("weak") != j.end() && !j.at("weak").is_number_integer()) throw std::runtime_error("Expected integer");
95919869 x.set_weak(j.at("weak").get<int64_t>());
95929870 }
95939871
@@ -9598,6 +9876,7 @@ namespace quicktype {
95989876
95999877 inline void from_json(const json & j, Where& x) {
96009878 if (!j.is_object()) throw std::runtime_error("Expected object");
9879+ if (j.find("where") != j.end() && !j.at("where").is_number_integer()) throw std::runtime_error("Expected integer");
96019880 x.set_where(j.at("where").get<int64_t>());
96029881 }
96039882
@@ -9608,6 +9887,7 @@ namespace quicktype {
96089887
96099888 inline void from_json(const json & j, WillSet& x) {
96109889 if (!j.is_object()) throw std::runtime_error("Expected object");
9890+ if (j.find("willSet") != j.end() && !j.at("willSet").is_number_integer()) throw std::runtime_error("Expected integer");
96119891 x.set_will_set(j.at("willSet").get<int64_t>());
96129892 }
96139893
@@ -9618,6 +9898,7 @@ namespace quicktype {
96189898
96199899 inline void from_json(const json & j, With& x) {
96209900 if (!j.is_object()) throw std::runtime_error("Expected object");
9901+ if (j.find("with") != j.end() && !j.at("with").is_number_integer()) throw std::runtime_error("Expected integer");
96219902 x.set_with(j.at("with").get<int64_t>());
96229903 }
96239904
@@ -9628,6 +9909,7 @@ namespace quicktype {
96289909
96299910 inline void from_json(const json & j, Yes& x) {
96309911 if (!j.is_object()) throw std::runtime_error("Expected object");
9912+ if (j.find("YES") != j.end() && !j.at("YES").is_number_integer()) throw std::runtime_error("Expected integer");
96319913 x.set_yes(j.at("YES").get<int64_t>());
96329914 }
96339915
@@ -9638,6 +9920,7 @@ namespace quicktype {
96389920
96399921 inline void from_json(const json & j, Yield& x) {
96409922 if (!j.is_object()) throw std::runtime_error("Expected object");
9923+ if (j.find("yield") != j.end() && !j.at("yield").is_number_integer()) throw std::runtime_error("Expected integer");
96419924 x.set_yield(j.at("yield").get<int64_t>());
96429925 }
96439926
@@ -9648,6 +9931,7 @@ namespace quicktype {
96489931
96499932 inline void from_json(const json & j, Obj5& x) {
96509933 if (!j.is_object()) throw std::runtime_error("Expected object");
9934+ if (j.find("dummy") != j.end() && !j.at("dummy").is_number_integer()) throw std::runtime_error("Expected integer");
96519935 x.set_dummy(j.at("dummy").get<int64_t>());
96529936 x.set_obj5_union(j.at("union").get<Union>());
96539937 x.set_obj5_unsigned(j.at("unsigned").get<Unsigned>());
@@ -9698,6 +9982,7 @@ namespace quicktype {
96989982
96999983 inline void from_json(const json & j, TopLevel& x) {
97009984 if (!j.is_object()) throw std::runtime_error("Expected object");
9985+ if (j.find("dummy") != j.end() && !j.at("dummy").is_number_integer()) throw std::runtime_error("Expected integer");
97019986 x.set_dummy(j.at("dummy").get<int64_t>());
97029987 x.set_obj1(j.at("obj1").get<Obj1>());
97039988 x.set_obj2(j.at("obj2").get<Obj2>());
Test case

test/inputs/json/priority/list.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -112,6 +112,7 @@ namespace quicktype {
112112
113113 inline void from_json(const json & j, TopLevel& x) {
114114 if (!j.is_object()) throw std::runtime_error("Expected object");
115+ if (j.find("data") != j.end() && !j.at("data").is_number_integer()) throw std::runtime_error("Expected integer");
115116 x.set_data(j.at("data").get<int64_t>());
116117 x.set_next(get_heap_optional<TopLevel>(j, "next"));
117118 }
Test case

test/inputs/json/priority/name-style.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -82,6 +82,7 @@ namespace quicktype {
8282
8383 inline void from_json(const json & j, TopLevel& x) {
8484 if (!j.is_object()) throw std::runtime_error("Expected object");
85+ if (j.find("anEasyOne") != j.end() && !j.at("anEasyOne").is_number_integer()) throw std::runtime_error("Expected integer");
8586 x.set_an_easy_one(j.at("anEasyOne").get<int64_t>());
8687 x.set_is_mnist_letter(j.at("isMNISTLetter").get<bool>());
8788 x.set_json_string(j.at("JSONString").get<std::string>());
Test case

test/inputs/json/priority/nbl-stats.json

1 generated file · +118 −0
Mcplusplusdefault / quicktype.hpp+118 −0
@@ -1441,13 +1441,16 @@ namespace quicktype {
14411441 x.set_clock(j.at("clock").get<std::string>());
14421442 x.set_competition_name(j.at("competitionName").get<std::string>());
14431443 x.set_id(j.at("id").get<std::string>());
1444+ if (j.find("period") != j.end() && !j.at("period").is_number_integer()) throw std::runtime_error("Expected integer");
14441445 x.set_period(j.at("period").get<int64_t>());
14451446 x.set_period_type(j.at("periodType").get<PerType>());
14461447 x.set_team1(j.at("team1").get<Team>());
14471448 x.set_team1_name(j.at("team1Name").get<std::string>());
1449+ if (j.find("team1Score") != j.end() && !j.at("team1Score").is_number_integer()) throw std::runtime_error("Expected integer");
14481450 x.set_team1_score(j.at("team1Score").get<int64_t>());
14491451 x.set_team2(j.at("team2").get<Team>());
14501452 x.set_team2_name(j.at("team2Name").get<std::string>());
1453+ if (j.find("team2Score") != j.end() && !j.at("team2Score").is_number_integer()) throw std::runtime_error("Expected integer");
14511454 x.set_team2_score(j.at("team2Score").get<int64_t>());
14521455 }
14531456
@@ -1478,19 +1481,27 @@ namespace quicktype {
14781481 x.set_international_family_name_initial(get_stack_optional<FamilyNameInitial>(j, "internationalFamilyNameInitial"));
14791482 x.set_international_first_name(get_stack_optional<std::string>(j, "internationalFirstName"));
14801483 x.set_international_first_name_initial(get_stack_optional<FirstNameInitial>(j, "internationalFirstNameInitial"));
1484+ if (j.find("lead") != j.end() && !j.at("lead").is_number_integer()) throw std::runtime_error("Expected integer");
14811485 x.set_lead(j.at("lead").get<int64_t>());
1486+ if (j.find("period") != j.end() && !j.at("period").is_number_integer()) throw std::runtime_error("Expected integer");
14821487 x.set_period(j.at("period").get<int64_t>());
14831488 x.set_period_type(j.at("periodType").get<PerType>());
14841489 x.set_player(j.at("player").get<std::string>());
1490+ if (j.find("pno") != j.end() && !j.at("pno").is_number_integer()) throw std::runtime_error("Expected integer");
14851491 x.set_pno(j.at("pno").get<int64_t>());
14861492 x.set_qualifier(j.at("qualifier").get<std::string>());
1493+ if (j.find("s1") != j.end() && !j.at("s1").is_number_integer()) throw std::runtime_error("Expected integer");
14871494 x.set_s1(j.at("s1").get<int64_t>());
1495+ if (j.find("s2") != j.end() && !j.at("s2").is_number_integer()) throw std::runtime_error("Expected integer");
14881496 x.set_s2(j.at("s2").get<int64_t>());
14891497 x.set_scoreboard_name(get_stack_optional<ScoreboardName>(j, "scoreboardName"));
1498+ if (j.find("scoring") != j.end() && !j.at("scoring").is_number_integer()) throw std::runtime_error("Expected integer");
14901499 x.set_scoring(j.at("scoring").get<int64_t>());
14911500 x.set_shirt_number(j.at("shirtNumber").get<std::string>());
14921501 x.set_sub_type(j.at("subType").get<std::string>());
1502+ if (j.find("success") != j.end() && !j.at("success").is_number_integer()) throw std::runtime_error("Expected integer");
14931503 x.set_success(j.at("success").get<int64_t>());
1504+ if (j.find("tno") != j.end() && !j.at("tno").is_number_integer()) throw std::runtime_error("Expected integer");
14941505 x.set_tno(j.at("tno").get<int64_t>());
14951506 }
14961507
@@ -1525,6 +1536,7 @@ namespace quicktype {
15251536 inline void from_json(const json & j, Time& x) {
15261537 if (!j.is_object()) throw std::runtime_error("Expected object");
15271538 x.set_gt(j.at("gt").get<std::string>());
1539+ if (j.find("per") != j.end() && !j.at("per").is_number_integer()) throw std::runtime_error("Expected integer");
15281540 x.set_per(j.at("per").get<int64_t>());
15291541 x.set_per_type(j.at("perType").get<PerType>());
15301542 }
@@ -1548,15 +1560,19 @@ namespace quicktype {
15481560 x.set_international_first_name(get_stack_optional<std::string>(j, "internationalFirstName"));
15491561 x.set_international_first_name_initial(get_stack_optional<FirstNameInitial>(j, "internationalFirstNameInitial"));
15501562 x.set_name(get_stack_optional<std::string>(j, "name"));
1563+ if (j.find("per") != j.end() && !j.at("per").is_number_integer()) throw std::runtime_error("Expected integer");
15511564 x.set_per(get_stack_optional<int64_t>(j, "per"));
15521565 x.set_per_type(get_stack_optional<PerType>(j, "perType"));
15531566 x.set_player(get_stack_optional<std::string>(j, "player"));
1567+ if (j.find("pno") != j.end() && !j.at("pno").is_number_integer()) throw std::runtime_error("Expected integer");
15541568 x.set_pno(j.at("pno").get<int64_t>());
15551569 x.set_scoreboard_name(get_stack_optional<ScoreboardName>(j, "scoreboardName"));
15561570 x.set_shirt_number(j.at("shirtNumber").get<std::string>());
15571571 x.set_summary(get_stack_optional<std::string>(j, "summary"));
15581572 x.set_times(get_stack_optional<std::vector<Time>>(j, "times"));
1573+ if (j.find("tno") != j.end() && !j.at("tno").is_number_integer()) throw std::runtime_error("Expected integer");
15591574 x.set_tno(j.at("tno").get<int64_t>());
1575+ if (j.find("tot") != j.end() && !j.at("tot").is_number_integer()) throw std::runtime_error("Expected integer");
15601576 x.set_tot(get_stack_optional<int64_t>(j, "tot"));
15611577 }
15621578
@@ -1630,15 +1646,22 @@ namespace quicktype {
16301646
16311647 inline void from_json(const json & j, Pl& x) {
16321648 if (!j.is_object()) throw std::runtime_error("Expected object");
1649+ if (j.find("active") != j.end() && !j.at("active").is_number_integer()) throw std::runtime_error("Expected integer");
16331650 x.set_active(j.at("active").get<int64_t>());
1651+ if (j.find("captain") != j.end() && !j.at("captain").is_number_integer()) throw std::runtime_error("Expected integer");
16341652 x.set_captain(get_stack_optional<int64_t>(j, "captain"));
16351653 x.set_comp(get_stack_optional<Comp>(j, "comp"));
1654+ if (j.find("eff_1") != j.end() && !j.at("eff_1").is_number_integer()) throw std::runtime_error("Expected integer");
16361655 x.set_eff_1(j.at("eff_1").get<int64_t>());
1656+ if (j.find("eff_2") != j.end() && !j.at("eff_2").is_number_integer()) throw std::runtime_error("Expected integer");
16371657 x.set_eff_2(j.at("eff_2").get<int64_t>());
16381658 x.set_eff_3(j.at("eff_3").get<double>());
16391659 x.set_eff_4(j.at("eff_4").get<double>());
1660+ if (j.find("eff_5") != j.end() && !j.at("eff_5").is_number_integer()) throw std::runtime_error("Expected integer");
16401661 x.set_eff_5(j.at("eff_5").get<int64_t>());
1662+ if (j.find("eff_6") != j.end() && !j.at("eff_6").is_number_integer()) throw std::runtime_error("Expected integer");
16411663 x.set_eff_6(j.at("eff_6").get<int64_t>());
1664+ if (j.find("eff_7") != j.end() && !j.at("eff_7").is_number_integer()) throw std::runtime_error("Expected integer");
16421665 x.set_eff_7(j.at("eff_7").get<int64_t>());
16431666 x.set_family_name(j.at("familyName").get<std::string>());
16441667 x.set_family_name_initial(j.at("familyNameInitial").get<FamilyNameInitial>());
@@ -1650,35 +1673,63 @@ namespace quicktype {
16501673 x.set_international_first_name_initial(j.at("internationalFirstNameInitial").get<FirstNameInitial>());
16511674 x.set_name(j.at("name").get<std::string>());
16521675 x.set_playing_position(j.at("playingPosition").get<std::string>());
1676+ if (j.find("sAssists") != j.end() && !j.at("sAssists").is_number_integer()) throw std::runtime_error("Expected integer");
16531677 x.set_s_assists(j.at("sAssists").get<int64_t>());
1678+ if (j.find("sBlocks") != j.end() && !j.at("sBlocks").is_number_integer()) throw std::runtime_error("Expected integer");
16541679 x.set_s_blocks(j.at("sBlocks").get<int64_t>());
1680+ if (j.find("sBlocksReceived") != j.end() && !j.at("sBlocksReceived").is_number_integer()) throw std::runtime_error("Expected integer");
16551681 x.set_s_blocks_received(j.at("sBlocksReceived").get<int64_t>());
1682+ if (j.find("sFieldGoalsAttempted") != j.end() && !j.at("sFieldGoalsAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
16561683 x.set_s_field_goals_attempted(j.at("sFieldGoalsAttempted").get<int64_t>());
1684+ if (j.find("sFieldGoalsMade") != j.end() && !j.at("sFieldGoalsMade").is_number_integer()) throw std::runtime_error("Expected integer");
16571685 x.set_s_field_goals_made(j.at("sFieldGoalsMade").get<int64_t>());
1686+ if (j.find("sFieldGoalsPercentage") != j.end() && !j.at("sFieldGoalsPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
16581687 x.set_s_field_goals_percentage(j.at("sFieldGoalsPercentage").get<int64_t>());
1688+ if (j.find("sFoulsOn") != j.end() && !j.at("sFoulsOn").is_number_integer()) throw std::runtime_error("Expected integer");
16591689 x.set_s_fouls_on(j.at("sFoulsOn").get<int64_t>());
1690+ if (j.find("sFoulsPersonal") != j.end() && !j.at("sFoulsPersonal").is_number_integer()) throw std::runtime_error("Expected integer");
16601691 x.set_s_fouls_personal(j.at("sFoulsPersonal").get<int64_t>());
1692+ if (j.find("sFreeThrowsAttempted") != j.end() && !j.at("sFreeThrowsAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
16611693 x.set_s_free_throws_attempted(j.at("sFreeThrowsAttempted").get<int64_t>());
1694+ if (j.find("sFreeThrowsMade") != j.end() && !j.at("sFreeThrowsMade").is_number_integer()) throw std::runtime_error("Expected integer");
16621695 x.set_s_free_throws_made(j.at("sFreeThrowsMade").get<int64_t>());
1696+ if (j.find("sFreeThrowsPercentage") != j.end() && !j.at("sFreeThrowsPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
16631697 x.set_s_free_throws_percentage(j.at("sFreeThrowsPercentage").get<int64_t>());
16641698 x.set_s_minutes(j.at("sMinutes").get<SMinutes>());
1699+ if (j.find("sPlusMinusPoints") != j.end() && !j.at("sPlusMinusPoints").is_number_integer()) throw std::runtime_error("Expected integer");
16651700 x.set_s_plus_minus_points(j.at("sPlusMinusPoints").get<int64_t>());
1701+ if (j.find("sPoints") != j.end() && !j.at("sPoints").is_number_integer()) throw std::runtime_error("Expected integer");
16661702 x.set_s_points(j.at("sPoints").get<int64_t>());
1703+ if (j.find("sPointsFastBreak") != j.end() && !j.at("sPointsFastBreak").is_number_integer()) throw std::runtime_error("Expected integer");
16671704 x.set_s_points_fast_break(j.at("sPointsFastBreak").get<int64_t>());
1705+ if (j.find("sPointsInThePaint") != j.end() && !j.at("sPointsInThePaint").is_number_integer()) throw std::runtime_error("Expected integer");
16681706 x.set_s_points_in_the_paint(j.at("sPointsInThePaint").get<int64_t>());
1707+ if (j.find("sPointsSecondChance") != j.end() && !j.at("sPointsSecondChance").is_number_integer()) throw std::runtime_error("Expected integer");
16691708 x.set_s_points_second_chance(j.at("sPointsSecondChance").get<int64_t>());
1709+ if (j.find("sReboundsDefensive") != j.end() && !j.at("sReboundsDefensive").is_number_integer()) throw std::runtime_error("Expected integer");
16701710 x.set_s_rebounds_defensive(j.at("sReboundsDefensive").get<int64_t>());
1711+ if (j.find("sReboundsOffensive") != j.end() && !j.at("sReboundsOffensive").is_number_integer()) throw std::runtime_error("Expected integer");
16711712 x.set_s_rebounds_offensive(j.at("sReboundsOffensive").get<int64_t>());
1713+ if (j.find("sReboundsTotal") != j.end() && !j.at("sReboundsTotal").is_number_integer()) throw std::runtime_error("Expected integer");
16721714 x.set_s_rebounds_total(j.at("sReboundsTotal").get<int64_t>());
1715+ if (j.find("sSteals") != j.end() && !j.at("sSteals").is_number_integer()) throw std::runtime_error("Expected integer");
16731716 x.set_s_steals(j.at("sSteals").get<int64_t>());
1717+ if (j.find("sThreePointersAttempted") != j.end() && !j.at("sThreePointersAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
16741718 x.set_s_three_pointers_attempted(j.at("sThreePointersAttempted").get<int64_t>());
1719+ if (j.find("sThreePointersMade") != j.end() && !j.at("sThreePointersMade").is_number_integer()) throw std::runtime_error("Expected integer");
16751720 x.set_s_three_pointers_made(j.at("sThreePointersMade").get<int64_t>());
1721+ if (j.find("sThreePointersPercentage") != j.end() && !j.at("sThreePointersPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
16761722 x.set_s_three_pointers_percentage(j.at("sThreePointersPercentage").get<int64_t>());
1723+ if (j.find("sTurnovers") != j.end() && !j.at("sTurnovers").is_number_integer()) throw std::runtime_error("Expected integer");
16771724 x.set_s_turnovers(j.at("sTurnovers").get<int64_t>());
1725+ if (j.find("sTwoPointersAttempted") != j.end() && !j.at("sTwoPointersAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
16781726 x.set_s_two_pointers_attempted(j.at("sTwoPointersAttempted").get<int64_t>());
1727+ if (j.find("sTwoPointersMade") != j.end() && !j.at("sTwoPointersMade").is_number_integer()) throw std::runtime_error("Expected integer");
16791728 x.set_s_two_pointers_made(j.at("sTwoPointersMade").get<int64_t>());
1729+ if (j.find("sTwoPointersPercentage") != j.end() && !j.at("sTwoPointersPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
16801730 x.set_s_two_pointers_percentage(j.at("sTwoPointersPercentage").get<int64_t>());
16811731 x.set_shirt_number(j.at("shirtNumber").get<std::string>());
1732+ if (j.find("starter") != j.end() && !j.at("starter").is_number_integer()) throw std::runtime_error("Expected integer");
16821733 x.set_starter(j.at("starter").get<int64_t>());
16831734 }
16841735
@@ -1739,16 +1790,23 @@ namespace quicktype {
17391790 inline void from_json(const json & j, Shot& x) {
17401791 if (!j.is_object()) throw std::runtime_error("Expected object");
17411792 x.set_action_type(j.at("actionType").get<ActionType>());
1793+ if (j.find("p") != j.end() && !j.at("p").is_number_integer()) throw std::runtime_error("Expected integer");
17421794 x.set_p(j.at("p").get<int64_t>());
1795+ if (j.find("per") != j.end() && !j.at("per").is_number_integer()) throw std::runtime_error("Expected integer");
17431796 x.set_per(j.at("per").get<int64_t>());
17441797 x.set_per_type(j.at("perType").get<PerType>());
17451798 x.set_player(j.at("player").get<std::string>());
1799+ if (j.find("pno") != j.end() && !j.at("pno").is_number_integer()) throw std::runtime_error("Expected integer");
17461800 x.set_pno(j.at("pno").get<int64_t>());
1801+ if (j.find("r") != j.end() && !j.at("r").is_number_integer()) throw std::runtime_error("Expected integer");
17471802 x.set_r(j.at("r").get<int64_t>());
17481803 x.set_shirt_number(j.at("shirtNumber").get<std::string>());
17491804 x.set_sub_type(j.at("subType").get<SubType>());
1805+ if (j.find("tno") != j.end() && !j.at("tno").is_number_integer()) throw std::runtime_error("Expected integer");
17501806 x.set_tno(j.at("tno").get<int64_t>());
1807+ if (j.find("x") != j.end() && !j.at("x").is_number_integer()) throw std::runtime_error("Expected integer");
17511808 x.set_x(j.at("x").get<int64_t>());
1809+ if (j.find("y") != j.end() && !j.at("y").is_number_integer()) throw std::runtime_error("Expected integer");
17521810 x.set_y(j.at("y").get<int64_t>());
17531811 }
17541812
@@ -1772,68 +1830,120 @@ namespace quicktype {
17721830 if (!j.is_object()) throw std::runtime_error("Expected object");
17731831 x.set_code(j.at("code").get<std::string>());
17741832 x.set_code_international(j.at("codeInternational").get<std::string>());
1833+ if (j.find("fouls") != j.end() && !j.at("fouls").is_number_integer()) throw std::runtime_error("Expected integer");
17751834 x.set_fouls(j.at("fouls").get<int64_t>());
1835+ if (j.find("full_score") != j.end() && !j.at("full_score").is_number_integer()) throw std::runtime_error("Expected integer");
17761836 x.set_full_score(j.at("full_score").get<int64_t>());
17771837 x.set_lds(j.at("lds").get<Lds>());
17781838 x.set_logo(j.at("logo").get<std::string>());
17791839 x.set_name(j.at("name").get<std::string>());
17801840 x.set_name_international(j.at("nameInternational").get<std::string>());
1841+ if (j.find("p1_score") != j.end() && !j.at("p1_score").is_number_integer()) throw std::runtime_error("Expected integer");
17811842 x.set_p1_score(j.at("p1_score").get<int64_t>());
1843+ if (j.find("p2_score") != j.end() && !j.at("p2_score").is_number_integer()) throw std::runtime_error("Expected integer");
17821844 x.set_p2_score(j.at("p2_score").get<int64_t>());
1845+ if (j.find("p3_score") != j.end() && !j.at("p3_score").is_number_integer()) throw std::runtime_error("Expected integer");
17831846 x.set_p3_score(j.at("p3_score").get<int64_t>());
1847+ if (j.find("p4_score") != j.end() && !j.at("p4_score").is_number_integer()) throw std::runtime_error("Expected integer");
17841848 x.set_p4_score(j.at("p4_score").get<int64_t>());
17851849 x.set_pl(j.at("pl").get<std::map<std::string, Pl>>());
1850+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
17861851 x.set_score(j.at("score").get<int64_t>());
17871852 x.set_scoring(j.at("scoring").get<std::vector<Scorer>>());
17881853 x.set_short_name(j.at("shortName").get<std::string>());
17891854 x.set_short_name_international(j.at("shortNameInternational").get<std::string>());
17901855 x.set_shot(j.at("shot").get<std::vector<Shot>>());
1856+ if (j.find("timeouts") != j.end() && !j.at("timeouts").is_number_integer()) throw std::runtime_error("Expected integer");
17911857 x.set_timeouts(j.at("timeouts").get<int64_t>());
1858+ if (j.find("tot_eff_1") != j.end() && !j.at("tot_eff_1").is_number_integer()) throw std::runtime_error("Expected integer");
17921859 x.set_tot_eff_1(j.at("tot_eff_1").get<int64_t>());
1860+ if (j.find("tot_eff_2") != j.end() && !j.at("tot_eff_2").is_number_integer()) throw std::runtime_error("Expected integer");
17931861 x.set_tot_eff_2(j.at("tot_eff_2").get<int64_t>());
17941862 x.set_tot_eff_3(j.at("tot_eff_3").get<double>());
1863+ if (j.find("tot_eff_4") != j.end() && !j.at("tot_eff_4").is_number_integer()) throw std::runtime_error("Expected integer");
17951864 x.set_tot_eff_4(j.at("tot_eff_4").get<int64_t>());
1865+ if (j.find("tot_eff_5") != j.end() && !j.at("tot_eff_5").is_number_integer()) throw std::runtime_error("Expected integer");
17961866 x.set_tot_eff_5(j.at("tot_eff_5").get<int64_t>());
1867+ if (j.find("tot_eff_6") != j.end() && !j.at("tot_eff_6").is_number_integer()) throw std::runtime_error("Expected integer");
17971868 x.set_tot_eff_6(j.at("tot_eff_6").get<int64_t>());
1869+ if (j.find("tot_eff_7") != j.end() && !j.at("tot_eff_7").is_number_integer()) throw std::runtime_error("Expected integer");
17981870 x.set_tot_eff_7(j.at("tot_eff_7").get<int64_t>());
1871+ if (j.find("tot_sAssists") != j.end() && !j.at("tot_sAssists").is_number_integer()) throw std::runtime_error("Expected integer");
17991872 x.set_tot_s_assists(j.at("tot_sAssists").get<int64_t>());
1873+ if (j.find("tot_sBenchPoints") != j.end() && !j.at("tot_sBenchPoints").is_number_integer()) throw std::runtime_error("Expected integer");
18001874 x.set_tot_s_bench_points(j.at("tot_sBenchPoints").get<int64_t>());
1875+ if (j.find("tot_sBiggestLead") != j.end() && !j.at("tot_sBiggestLead").is_number_integer()) throw std::runtime_error("Expected integer");
18011876 x.set_tot_s_biggest_lead(j.at("tot_sBiggestLead").get<int64_t>());
1877+ if (j.find("tot_sBiggestScoringRun") != j.end() && !j.at("tot_sBiggestScoringRun").is_number_integer()) throw std::runtime_error("Expected integer");
18021878 x.set_tot_s_biggest_scoring_run(j.at("tot_sBiggestScoringRun").get<int64_t>());
1879+ if (j.find("tot_sBlocks") != j.end() && !j.at("tot_sBlocks").is_number_integer()) throw std::runtime_error("Expected integer");
18031880 x.set_tot_s_blocks(j.at("tot_sBlocks").get<int64_t>());
1881+ if (j.find("tot_sBlocksReceived") != j.end() && !j.at("tot_sBlocksReceived").is_number_integer()) throw std::runtime_error("Expected integer");
18041882 x.set_tot_s_blocks_received(j.at("tot_sBlocksReceived").get<int64_t>());
1883+ if (j.find("tot_sFieldGoalsAttempted") != j.end() && !j.at("tot_sFieldGoalsAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
18051884 x.set_tot_s_field_goals_attempted(j.at("tot_sFieldGoalsAttempted").get<int64_t>());
1885+ if (j.find("tot_sFieldGoalsMade") != j.end() && !j.at("tot_sFieldGoalsMade").is_number_integer()) throw std::runtime_error("Expected integer");
18061886 x.set_tot_s_field_goals_made(j.at("tot_sFieldGoalsMade").get<int64_t>());
1887+ if (j.find("tot_sFieldGoalsPercentage") != j.end() && !j.at("tot_sFieldGoalsPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
18071888 x.set_tot_s_field_goals_percentage(j.at("tot_sFieldGoalsPercentage").get<int64_t>());
1889+ if (j.find("tot_sFoulsOn") != j.end() && !j.at("tot_sFoulsOn").is_number_integer()) throw std::runtime_error("Expected integer");
18081890 x.set_tot_s_fouls_on(j.at("tot_sFoulsOn").get<int64_t>());
1891+ if (j.find("tot_sFoulsPersonal") != j.end() && !j.at("tot_sFoulsPersonal").is_number_integer()) throw std::runtime_error("Expected integer");
18091892 x.set_tot_s_fouls_personal(j.at("tot_sFoulsPersonal").get<int64_t>());
1893+ if (j.find("tot_sFoulsTeam") != j.end() && !j.at("tot_sFoulsTeam").is_number_integer()) throw std::runtime_error("Expected integer");
18101894 x.set_tot_s_fouls_team(j.at("tot_sFoulsTeam").get<int64_t>());
1895+ if (j.find("tot_sFreeThrowsAttempted") != j.end() && !j.at("tot_sFreeThrowsAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
18111896 x.set_tot_s_free_throws_attempted(j.at("tot_sFreeThrowsAttempted").get<int64_t>());
1897+ if (j.find("tot_sFreeThrowsMade") != j.end() && !j.at("tot_sFreeThrowsMade").is_number_integer()) throw std::runtime_error("Expected integer");
18121898 x.set_tot_s_free_throws_made(j.at("tot_sFreeThrowsMade").get<int64_t>());
1899+ if (j.find("tot_sFreeThrowsPercentage") != j.end() && !j.at("tot_sFreeThrowsPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
18131900 x.set_tot_s_free_throws_percentage(j.at("tot_sFreeThrowsPercentage").get<int64_t>());
1901+ if (j.find("tot_sLeadChanges") != j.end() && !j.at("tot_sLeadChanges").is_number_integer()) throw std::runtime_error("Expected integer");
18141902 x.set_tot_s_lead_changes(j.at("tot_sLeadChanges").get<int64_t>());
1903+ if (j.find("tot_sMinutes") != j.end() && !j.at("tot_sMinutes").is_number_integer()) throw std::runtime_error("Expected integer");
18151904 x.set_tot_s_minutes(j.at("tot_sMinutes").get<int64_t>());
1905+ if (j.find("tot_sPoints") != j.end() && !j.at("tot_sPoints").is_number_integer()) throw std::runtime_error("Expected integer");
18161906 x.set_tot_s_points(j.at("tot_sPoints").get<int64_t>());
1907+ if (j.find("tot_sPointsFastBreak") != j.end() && !j.at("tot_sPointsFastBreak").is_number_integer()) throw std::runtime_error("Expected integer");
18171908 x.set_tot_s_points_fast_break(j.at("tot_sPointsFastBreak").get<int64_t>());
1909+ if (j.find("tot_sPointsFromTurnovers") != j.end() && !j.at("tot_sPointsFromTurnovers").is_number_integer()) throw std::runtime_error("Expected integer");
18181910 x.set_tot_s_points_from_turnovers(j.at("tot_sPointsFromTurnovers").get<int64_t>());
1911+ if (j.find("tot_sPointsInThePaint") != j.end() && !j.at("tot_sPointsInThePaint").is_number_integer()) throw std::runtime_error("Expected integer");
18191912 x.set_tot_s_points_in_the_paint(j.at("tot_sPointsInThePaint").get<int64_t>());
1913+ if (j.find("tot_sPointsSecondChance") != j.end() && !j.at("tot_sPointsSecondChance").is_number_integer()) throw std::runtime_error("Expected integer");
18201914 x.set_tot_s_points_second_chance(j.at("tot_sPointsSecondChance").get<int64_t>());
1915+ if (j.find("tot_sReboundsDefensive") != j.end() && !j.at("tot_sReboundsDefensive").is_number_integer()) throw std::runtime_error("Expected integer");
18211916 x.set_tot_s_rebounds_defensive(j.at("tot_sReboundsDefensive").get<int64_t>());
1917+ if (j.find("tot_sReboundsOffensive") != j.end() && !j.at("tot_sReboundsOffensive").is_number_integer()) throw std::runtime_error("Expected integer");
18221918 x.set_tot_s_rebounds_offensive(j.at("tot_sReboundsOffensive").get<int64_t>());
1919+ if (j.find("tot_sReboundsTeam") != j.end() && !j.at("tot_sReboundsTeam").is_number_integer()) throw std::runtime_error("Expected integer");
18231920 x.set_tot_s_rebounds_team(j.at("tot_sReboundsTeam").get<int64_t>());
1921+ if (j.find("tot_sReboundsTeamDefensive") != j.end() && !j.at("tot_sReboundsTeamDefensive").is_number_integer()) throw std::runtime_error("Expected integer");
18241922 x.set_tot_s_rebounds_team_defensive(j.at("tot_sReboundsTeamDefensive").get<int64_t>());
1923+ if (j.find("tot_sReboundsTeamOffensive") != j.end() && !j.at("tot_sReboundsTeamOffensive").is_number_integer()) throw std::runtime_error("Expected integer");
18251924 x.set_tot_s_rebounds_team_offensive(j.at("tot_sReboundsTeamOffensive").get<int64_t>());
1925+ if (j.find("tot_sReboundsTotal") != j.end() && !j.at("tot_sReboundsTotal").is_number_integer()) throw std::runtime_error("Expected integer");
18261926 x.set_tot_s_rebounds_total(j.at("tot_sReboundsTotal").get<int64_t>());
1927+ if (j.find("tot_sSteals") != j.end() && !j.at("tot_sSteals").is_number_integer()) throw std::runtime_error("Expected integer");
18271928 x.set_tot_s_steals(j.at("tot_sSteals").get<int64_t>());
1929+ if (j.find("tot_sThreePointersAttempted") != j.end() && !j.at("tot_sThreePointersAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
18281930 x.set_tot_s_three_pointers_attempted(j.at("tot_sThreePointersAttempted").get<int64_t>());
1931+ if (j.find("tot_sThreePointersMade") != j.end() && !j.at("tot_sThreePointersMade").is_number_integer()) throw std::runtime_error("Expected integer");
18291932 x.set_tot_s_three_pointers_made(j.at("tot_sThreePointersMade").get<int64_t>());
1933+ if (j.find("tot_sThreePointersPercentage") != j.end() && !j.at("tot_sThreePointersPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
18301934 x.set_tot_s_three_pointers_percentage(j.at("tot_sThreePointersPercentage").get<int64_t>());
18311935 x.set_tot_s_time_leading(j.at("tot_sTimeLeading").get<double>());
1936+ if (j.find("tot_sTimesScoresLevel") != j.end() && !j.at("tot_sTimesScoresLevel").is_number_integer()) throw std::runtime_error("Expected integer");
18321937 x.set_tot_s_times_scores_level(j.at("tot_sTimesScoresLevel").get<int64_t>());
1938+ if (j.find("tot_sTurnovers") != j.end() && !j.at("tot_sTurnovers").is_number_integer()) throw std::runtime_error("Expected integer");
18331939 x.set_tot_s_turnovers(j.at("tot_sTurnovers").get<int64_t>());
1940+ if (j.find("tot_sTurnoversTeam") != j.end() && !j.at("tot_sTurnoversTeam").is_number_integer()) throw std::runtime_error("Expected integer");
18341941 x.set_tot_s_turnovers_team(j.at("tot_sTurnoversTeam").get<int64_t>());
1942+ if (j.find("tot_sTwoPointersAttempted") != j.end() && !j.at("tot_sTwoPointersAttempted").is_number_integer()) throw std::runtime_error("Expected integer");
18351943 x.set_tot_s_two_pointers_attempted(j.at("tot_sTwoPointersAttempted").get<int64_t>());
1944+ if (j.find("tot_sTwoPointersMade") != j.end() && !j.at("tot_sTwoPointersMade").is_number_integer()) throw std::runtime_error("Expected integer");
18361945 x.set_tot_s_two_pointers_made(j.at("tot_sTwoPointersMade").get<int64_t>());
1946+ if (j.find("tot_sTwoPointersPercentage") != j.end() && !j.at("tot_sTwoPointersPercentage").is_number_integer()) throw std::runtime_error("Expected integer");
18371947 x.set_tot_s_two_pointers_percentage(j.at("tot_sTwoPointersPercentage").get<int64_t>());
18381948 }
18391949
@@ -1926,9 +2036,12 @@ namespace quicktype {
19262036
19272037 inline void from_json(const json & j, TopLevel& x) {
19282038 if (!j.is_object()) throw std::runtime_error("Expected object");
2039+ if (j.find("attendance") != j.end() && !j.at("attendance").is_number_integer()) throw std::runtime_error("Expected integer");
19292040 x.set_attendance(j.at("attendance").get<int64_t>());
19302041 x.set_clock(j.at("clock").get<std::string>());
2042+ if (j.find("disableMatch") != j.end() && !j.at("disableMatch").is_number_integer()) throw std::runtime_error("Expected integer");
19312043 x.set_disable_match(j.at("disableMatch").get<int64_t>());
2044+ if (j.find("inOT") != j.end() && !j.at("inOT").is_number_integer()) throw std::runtime_error("Expected integer");
19322045 x.set_in_ot(j.at("inOT").get<int64_t>());
19332046 x.set_leaddata(j.at("leaddata").get<std::vector<std::vector<LeaddatumElement>>>());
19342047 x.set_officials_referee1(j.at("officials_referee1").get<std::string>());
@@ -1936,14 +2049,19 @@ namespace quicktype {
19362049 x.set_officials_referee3(j.at("officials_referee3").get<std::string>());
19372050 x.set_othermatches(j.at("othermatches").get<std::vector<Othermatch>>());
19382051 x.set_pbp(j.at("pbp").get<std::vector<Pbp>>());
2052+ if (j.find("period") != j.end() && !j.at("period").is_number_integer()) throw std::runtime_error("Expected integer");
19392053 x.set_period(j.at("period").get<int64_t>());
2054+ if (j.find("periodLengthOVERTIME") != j.end() && !j.at("periodLengthOVERTIME").is_number_integer()) throw std::runtime_error("Expected integer");
19402055 x.set_period_length_overtime(j.at("periodLengthOVERTIME").get<int64_t>());
2056+ if (j.find("periodLengthREGULAR") != j.end() && !j.at("periodLengthREGULAR").is_number_integer()) throw std::runtime_error("Expected integer");
19412057 x.set_period_length_regular(j.at("periodLengthREGULAR").get<int64_t>());
19422058 x.set_period_type(j.at("periodType").get<PerType>());
2059+ if (j.find("periodsMax") != j.end() && !j.at("periodsMax").is_number_integer()) throw std::runtime_error("Expected integer");
19432060 x.set_periods_max(j.at("periodsMax").get<int64_t>());
19442061 x.set_scorers(j.at("scorers").get<std::map<std::string, std::vector<Scorer>>>());
19452062 x.set_timeline(j.at("timeline").get<std::vector<nlohmann::json>>());
19462063 x.set_tm(j.at("tm").get<std::map<std::string, Tm>>());
2064+ if (j.find("totalTimeAdded") != j.end() && !j.at("totalTimeAdded").is_number_integer()) throw std::runtime_error("Expected integer");
19472065 x.set_total_time_added(j.at("totalTimeAdded").get<int64_t>());
19482066 x.set_totallds(j.at("totallds").get<Totallds>());
19492067 }
Test case

test/inputs/json/priority/nst-test-suite.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -798,6 +798,7 @@ namespace quicktype {
798798
799799 inline void from_json(const json & j, YObjectEmptyKeyJson& x) {
800800 if (!j.is_object()) throw std::runtime_error("Expected object");
801+ if (j.find("") != j.end() && !j.at("").is_number_integer()) throw std::runtime_error("Expected integer");
801802 x.set_empty(j.at("").get<int64_t>());
802803 }
803804
@@ -808,6 +809,7 @@ namespace quicktype {
808809
809810 inline void from_json(const json & j, YObjectEscapedNullInKeyJson& x) {
810811 if (!j.is_object()) throw std::runtime_error("Expected object");
812+ if (j.find(([] { constexpr auto &s = "foo\u0000bar"; return std::string(s, sizeof(s) / sizeof(s[0]) - 1); }())) != j.end() && !j.at(([] { constexpr auto &s = "foo\u0000bar"; return std::string(s, sizeof(s) / sizeof(s[0]) - 1); }())).is_number_integer()) throw std::runtime_error("Expected integer");
811813 x.set_foo_bar(j.at(([] { constexpr auto &s = "foo\u0000bar"; return std::string(s, sizeof(s) / sizeof(s[0]) - 1); }())).get<int64_t>());
812814 }
813815
@@ -978,6 +980,7 @@ namespace quicktype {
978980 x.set_y_string_utf8_json(j.at("y_string_utf8.json").get<std::vector<std::string>>());
979981 x.set_y_string_with_del_character_json(j.at("y_string_with_del_character.json").get<std::vector<std::string>>());
980982 x.set_y_structure_lonely_false_json(j.at("y_structure_lonely_false.json").get<bool>());
983+ if (j.find("y_structure_lonely_int.json") != j.end() && !j.at("y_structure_lonely_int.json").is_number_integer()) throw std::runtime_error("Expected integer");
981984 x.set_y_structure_lonely_int_json(j.at("y_structure_lonely_int.json").get<int64_t>());
982985 x.set_y_structure_lonely_negative_real_json(j.at("y_structure_lonely_negative_real.json").get<double>());
983986 x.set_y_structure_lonely_null_json(get_untyped(j, "y_structure_lonely_null.json"));
Test case

test/inputs/json/priority/omit-empty.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -131,6 +131,7 @@ namespace quicktype {
131131
132132 inline void from_json(const json & j, Result& x) {
133133 if (!j.is_object()) throw std::runtime_error("Expected object");
134+ if (j.find("age") != j.end() && !j.at("age").is_number_integer()) throw std::runtime_error("Expected integer");
134135 x.set_age(j.at("age").get<int64_t>());
135136 x.set_name(get_untyped(j, "name"));
136137 }
Test case

test/inputs/json/priority/php-validation.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -73,6 +73,7 @@ namespace quicktype {
7373 inline void from_json(const json & j, TopLevel& x) {
7474 if (!j.is_object()) throw std::runtime_error("Expected object");
7575 x.set_boolean(j.at("boolean").get<bool>());
76+ if (j.find("integer") != j.end() && !j.at("integer").is_number_integer()) throw std::runtime_error("Expected integer");
7677 x.set_integer(j.at("integer").get<int64_t>());
7778 x.set_integers(j.at("integers").get<std::vector<int64_t>>());
7879 x.set_number(j.at("number").get<double>());
Test case

test/inputs/json/priority/recursive.json

1 generated file · +26 −0
Mcplusplusdefault / quicktype.hpp+26 −0
@@ -694,10 +694,12 @@ namespace quicktype {
694694 if (!j.is_object()) throw std::runtime_error("Expected object");
695695 x.set_concatenatecategoryname(j.at("concatenatecategoryname").get<bool>());
696696 x.set_hasoffer(j.at("hasoffer").get<bool>());
697+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
697698 x.set_id(j.at("id").get<int64_t>());
698699 x.set_isfinal(j.at("isfinal").get<bool>());
699700 x.set_links(j.at("links").get<std::vector<LinkElement>>());
700701 x.set_name(j.at("name").get<std::string>());
702+ if (j.find("parentcategoryid") != j.end() && !j.at("parentcategoryid").is_number_integer()) throw std::runtime_error("Expected integer");
701703 x.set_parentcategoryid(j.at("parentcategoryid").get<int64_t>());
702704 x.set_thumbnail(j.at("thumbnail").get<CategoryThumbnail>());
703705 }
@@ -716,6 +718,7 @@ namespace quicktype {
716718
717719 inline void from_json(const json & j, Eonandyear& x) {
718720 if (!j.is_object()) throw std::runtime_error("Expected object");
721+ if (j.find("lowestsetbit") != j.end() && !j.at("lowestsetbit").is_number_integer()) throw std::runtime_error("Expected integer");
719722 x.set_lowestsetbit(j.at("lowestsetbit").get<int64_t>());
720723 }
721724
@@ -740,16 +743,24 @@ namespace quicktype {
740743
741744 inline void from_json(const json & j, Date& x) {
742745 if (!j.is_object()) throw std::runtime_error("Expected object");
746+ if (j.find("day") != j.end() && !j.at("day").is_number_integer()) throw std::runtime_error("Expected integer");
743747 x.set_day(j.at("day").get<int64_t>());
744748 x.set_eonandyear(j.at("eonandyear").get<Eonandyear>());
749+ if (j.find("hour") != j.end() && !j.at("hour").is_number_integer()) throw std::runtime_error("Expected integer");
745750 x.set_hour(j.at("hour").get<int64_t>());
751+ if (j.find("millisecond") != j.end() && !j.at("millisecond").is_number_integer()) throw std::runtime_error("Expected integer");
746752 x.set_millisecond(j.at("millisecond").get<int64_t>());
753+ if (j.find("minute") != j.end() && !j.at("minute").is_number_integer()) throw std::runtime_error("Expected integer");
747754 x.set_minute(j.at("minute").get<int64_t>());
755+ if (j.find("month") != j.end() && !j.at("month").is_number_integer()) throw std::runtime_error("Expected integer");
748756 x.set_month(j.at("month").get<int64_t>());
757+ if (j.find("second") != j.end() && !j.at("second").is_number_integer()) throw std::runtime_error("Expected integer");
749758 x.set_second(j.at("second").get<int64_t>());
759+ if (j.find("timezone") != j.end() && !j.at("timezone").is_number_integer()) throw std::runtime_error("Expected integer");
750760 x.set_timezone(j.at("timezone").get<int64_t>());
751761 x.set_valid(j.at("valid").get<bool>());
752762 x.set_xmlschematype(j.at("xmlschematype").get<Xmlschematype>());
763+ if (j.find("year") != j.end() && !j.at("year").is_number_integer()) throw std::runtime_error("Expected integer");
753764 x.set_year(j.at("year").get<int64_t>());
754765 }
755766
@@ -772,8 +783,10 @@ namespace quicktype {
772783 if (!j.is_object()) throw std::runtime_error("Expected object");
773784 x.set_applicationid(j.at("applicationid").get<std::string>());
774785 x.set_applicationversion(j.at("applicationversion").get<std::string>());
786+ if (j.find("code") != j.end() && !j.at("code").is_number_integer()) throw std::runtime_error("Expected integer");
775787 x.set_code(j.at("code").get<int64_t>());
776788 x.set_date(j.at("date").get<Date>());
789+ if (j.find("elapsedtime") != j.end() && !j.at("elapsedtime").is_number_integer()) throw std::runtime_error("Expected integer");
777790 x.set_elapsedtime(j.at("elapsedtime").get<int64_t>());
778791 x.set_message(j.at("message").get<std::string>());
779792 x.set_status(j.at("status").get<std::string>());
@@ -803,6 +816,7 @@ namespace quicktype {
803816 inline void from_json(const json & j, Useraveragerating& x) {
804817 if (!j.is_object()) throw std::runtime_error("Expected object");
805818 x.set_links(j.at("links").get<std::vector<LinkElement>>());
819+ if (j.find("numcomments") != j.end() && !j.at("numcomments").is_number_integer()) throw std::runtime_error("Expected integer");
806820 x.set_numcomments(j.at("numcomments").get<int64_t>());
807821 x.set_rating(j.at("rating").get<std::string>());
808822 }
@@ -847,8 +861,10 @@ namespace quicktype {
847861 inline void from_json(const json & j, FormatsClass& x) {
848862 if (!j.is_object()) throw std::runtime_error("Expected object");
849863 x.set_formats(get_stack_optional<std::vector<Format>>(j, "formats"));
864+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
850865 x.set_height(j.at("height").get<int64_t>());
851866 x.set_url(j.at("url").get<std::string>());
867+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
852868 x.set_width(j.at("width").get<int64_t>());
853869 }
854870
@@ -862,21 +878,26 @@ namespace quicktype {
862878
863879 inline void from_json(const json & j, ProductProduct& x) {
864880 if (!j.is_object()) throw std::runtime_error("Expected object");
881+ if (j.find("categoryid") != j.end() && !j.at("categoryid").is_number_integer()) throw std::runtime_error("Expected integer");
865882 x.set_categoryid(j.at("categoryid").get<int64_t>());
866883 x.set_currency(j.at("currency").get<Currency>());
867884 x.set_eco(j.at("eco").get<bool>());
868885 x.set_fulldescription(j.at("fulldescription").get<bool>());
869886 x.set_hasmetasearch(j.at("hasmetasearch").get<bool>());
887+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
870888 x.set_id(j.at("id").get<int64_t>());
871889 x.set_links(j.at("links").get<std::vector<LinkElement>>());
890+ if (j.find("numoffers") != j.end() && !j.at("numoffers").is_number_integer()) throw std::runtime_error("Expected integer");
872891 x.set_numoffers(j.at("numoffers").get<int64_t>());
873892 x.set_pricemax(j.at("pricemax").get<std::string>());
874893 x.set_pricemin(j.at("pricemin").get<std::string>());
875894 x.set_productname(j.at("productname").get<std::string>());
895+ if (j.find("quantity") != j.end() && !j.at("quantity").is_number_integer()) throw std::runtime_error("Expected integer");
876896 x.set_quantity(j.at("quantity").get<int64_t>());
877897 x.set_rating(j.at("rating").get<Rating>());
878898 x.set_specification(j.at("specification").get<Specification>());
879899 x.set_thumbnail(j.at("thumbnail").get<std::shared_ptr<FormatsClass>>());
900+ if (j.find("totalsellers") != j.end() && !j.at("totalsellers").is_number_integer()) throw std::runtime_error("Expected integer");
880901 x.set_totalsellers(j.at("totalsellers").get<int64_t>());
881902 }
882903
@@ -915,12 +936,17 @@ namespace quicktype {
915936 x.set_category(j.at("category").get<Category>());
916937 x.set_details(j.at("details").get<Details>());
917938 x.set_match(j.at("match").get<std::string>());
939+ if (j.find("page") != j.end() && !j.at("page").is_number_integer()) throw std::runtime_error("Expected integer");
918940 x.set_page(j.at("page").get<int64_t>());
919941 x.set_product(j.at("product").get<std::vector<ProductElement>>());
920942 x.set_schk(j.at("schk").get<bool>());
943+ if (j.find("totallooseoffers") != j.end() && !j.at("totallooseoffers").is_number_integer()) throw std::runtime_error("Expected integer");
921944 x.set_totallooseoffers(j.at("totallooseoffers").get<int64_t>());
945+ if (j.find("totalpages") != j.end() && !j.at("totalpages").is_number_integer()) throw std::runtime_error("Expected integer");
922946 x.set_totalpages(j.at("totalpages").get<int64_t>());
947+ if (j.find("totalresultsavailable") != j.end() && !j.at("totalresultsavailable").is_number_integer()) throw std::runtime_error("Expected integer");
923948 x.set_totalresultsavailable(j.at("totalresultsavailable").get<int64_t>());
949+ if (j.find("totalresultsreturned") != j.end() && !j.at("totalresultsreturned").is_number_integer()) throw std::runtime_error("Expected integer");
924950 x.set_totalresultsreturned(j.at("totalresultsreturned").get<int64_t>());
925951 }
Test case

test/inputs/json/priority/uuids.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -79,6 +79,7 @@ namespace quicktype {
7979 if (!j.is_object()) throw std::runtime_error("Expected object");
8080 x.set_boolean_value(j.at("booleanValue").get<bool>());
8181 x.set_double_value(j.at("doubleValue").get<double>());
82+ if (j.find("intValue") != j.end() && !j.at("intValue").is_number_integer()) throw std::runtime_error("Expected integer");
8283 x.set_int_value(j.at("intValue").get<int64_t>());
8384 x.set_string_value(j.at("stringValue").get<std::string>());
8485 x.set_uuid_value(j.at("uuidValue").get<std::string>());
Test case

test/inputs/json/samples/bitcoin-block.json

1 generated file · +3 −0
Mcplusplusdefault / quicktype.hpp+3 −0
@@ -72,9 +72,12 @@ namespace quicktype {
7272
7373 inline void from_json(const json & j, TopLevel& x) {
7474 if (!j.is_object()) throw std::runtime_error("Expected object");
75+ if (j.find("block_index") != j.end() && !j.at("block_index").is_number_integer()) throw std::runtime_error("Expected integer");
7576 x.set_block_index(j.at("block_index").get<int64_t>());
7677 x.set_hash(j.at("hash").get<std::string>());
78+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
7779 x.set_height(j.at("height").get<int64_t>());
80+ if (j.find("time") != j.end() && !j.at("time").is_number_integer()) throw std::runtime_error("Expected integer");
7881 x.set_time(j.at("time").get<int64_t>());
7982 x.set_tx_indexes(j.at("txIndexes").get<std::vector<int64_t>>());
8083 }
Test case

test/inputs/json/samples/github-events.json

1 generated file · +33 −0
Mcplusplusdefault / quicktype.hpp+33 −0
@@ -1478,6 +1478,7 @@ namespace quicktype {
14781478 x.set_avatar_url(j.at("avatar_url").get<std::string>());
14791479 x.set_display_login(get_stack_optional<std::string>(j, "display_login"));
14801480 x.set_gravatar_id(j.at("gravatar_id").get<std::string>());
1481+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
14811482 x.set_id(j.at("id").get<int64_t>());
14821483 x.set_login(j.at("login").get<std::string>());
14831484 x.set_url(j.at("url").get<std::string>());
@@ -1502,6 +1503,7 @@ namespace quicktype {
15021503 x.set_gists_url(j.at("gists_url").get<std::string>());
15031504 x.set_gravatar_id(j.at("gravatar_id").get<std::string>());
15041505 x.set_html_url(j.at("html_url").get<std::string>());
1506+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
15051507 x.set_id(j.at("id").get<int64_t>());
15061508 x.set_login(j.at("login").get<std::string>());
15071509 x.set_organizations_url(j.at("organizations_url").get<std::string>());
@@ -1540,6 +1542,7 @@ namespace quicktype {
15401542 x.set_body(j.at("body").get<std::string>());
15411543 x.set_created_at(j.at("created_at").get<std::string>());
15421544 x.set_html_url(j.at("html_url").get<std::string>());
1545+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
15431546 x.set_id(j.at("id").get<int64_t>());
15441547 x.set_issue_url(j.at("issue_url").get<std::string>());
15451548 x.set_updated_at(j.at("updated_at").get<std::string>());
@@ -1592,6 +1595,7 @@ namespace quicktype {
15921595 inline void from_json(const json & j, Label& x) {
15931596 if (!j.is_object()) throw std::runtime_error("Expected object");
15941597 x.set_color(j.at("color").get<std::string>());
1598+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
15951599 x.set_id(j.at("id").get<int64_t>());
15961600 x.set_label_default(j.at("default").get<bool>());
15971601 x.set_name(j.at("name").get<std::string>());
@@ -1610,15 +1614,19 @@ namespace quicktype {
16101614 inline void from_json(const json & j, Milestone& x) {
16111615 if (!j.is_object()) throw std::runtime_error("Expected object");
16121616 x.set_closed_at(get_untyped(j, "closed_at"));
1617+ if (j.find("closed_issues") != j.end() && !j.at("closed_issues").is_number_integer()) throw std::runtime_error("Expected integer");
16131618 x.set_closed_issues(j.at("closed_issues").get<int64_t>());
16141619 x.set_created_at(j.at("created_at").get<std::string>());
16151620 x.set_creator(j.at("creator").get<User>());
16161621 x.set_description(j.at("description").get<std::string>());
16171622 x.set_due_on(get_stack_optional<std::string>(j, "due_on"));
16181623 x.set_html_url(j.at("html_url").get<std::string>());
1624+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
16191625 x.set_id(j.at("id").get<int64_t>());
16201626 x.set_labels_url(j.at("labels_url").get<std::string>());
1627+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
16211628 x.set_number(j.at("number").get<int64_t>());
1629+ if (j.find("open_issues") != j.end() && !j.at("open_issues").is_number_integer()) throw std::runtime_error("Expected integer");
16221630 x.set_open_issues(j.at("open_issues").get<int64_t>());
16231631 x.set_state(j.at("state").get<std::string>());
16241632 x.set_title(j.at("title").get<std::string>());
@@ -1667,16 +1675,19 @@ namespace quicktype {
16671675 x.set_assignees(j.at("assignees").get<std::vector<nlohmann::json>>());
16681676 x.set_body(j.at("body").get<std::string>());
16691677 x.set_closed_at(get_stack_optional<std::string>(j, "closed_at"));
1678+ if (j.find("comments") != j.end() && !j.at("comments").is_number_integer()) throw std::runtime_error("Expected integer");
16701679 x.set_comments(j.at("comments").get<int64_t>());
16711680 x.set_comments_url(j.at("comments_url").get<std::string>());
16721681 x.set_created_at(j.at("created_at").get<std::string>());
16731682 x.set_events_url(j.at("events_url").get<std::string>());
16741683 x.set_html_url(j.at("html_url").get<std::string>());
1684+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
16751685 x.set_id(j.at("id").get<int64_t>());
16761686 x.set_labels(j.at("labels").get<std::vector<Label>>());
16771687 x.set_labels_url(j.at("labels_url").get<std::string>());
16781688 x.set_locked(j.at("locked").get<bool>());
16791689 x.set_milestone(get_stack_optional<Milestone>(j, "milestone"));
1690+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
16801691 x.set_number(j.at("number").get<int64_t>());
16811692 x.set_pull_request(get_stack_optional<IssuePullRequest>(j, "pull_request"));
16821693 x.set_repository_url(j.at("repository_url").get<std::string>());
@@ -1733,7 +1744,9 @@ namespace quicktype {
17331744 x.set_downloads_url(j.at("downloads_url").get<std::string>());
17341745 x.set_events_url(j.at("events_url").get<std::string>());
17351746 x.set_fork(j.at("fork").get<bool>());
1747+ if (j.find("forks") != j.end() && !j.at("forks").is_number_integer()) throw std::runtime_error("Expected integer");
17361748 x.set_forks(j.at("forks").get<int64_t>());
1749+ if (j.find("forks_count") != j.end() && !j.at("forks_count").is_number_integer()) throw std::runtime_error("Expected integer");
17371750 x.set_forks_count(j.at("forks_count").get<int64_t>());
17381751 x.set_forks_url(j.at("forks_url").get<std::string>());
17391752 x.set_full_name(j.at("full_name").get<std::string>());
@@ -1749,6 +1762,7 @@ namespace quicktype {
17491762 x.set_homepage(j.at("homepage").get<std::string>());
17501763 x.set_hooks_url(j.at("hooks_url").get<std::string>());
17511764 x.set_html_url(j.at("html_url").get<std::string>());
1765+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
17521766 x.set_id(j.at("id").get<int64_t>());
17531767 x.set_issue_comment_url(j.at("issue_comment_url").get<std::string>());
17541768 x.set_issue_events_url(j.at("issue_events_url").get<std::string>());
@@ -1762,15 +1776,19 @@ namespace quicktype {
17621776 x.set_mirror_url(get_untyped(j, "mirror_url"));
17631777 x.set_name(j.at("name").get<std::string>());
17641778 x.set_notifications_url(j.at("notifications_url").get<std::string>());
1779+ if (j.find("open_issues") != j.end() && !j.at("open_issues").is_number_integer()) throw std::runtime_error("Expected integer");
17651780 x.set_open_issues(j.at("open_issues").get<int64_t>());
1781+ if (j.find("open_issues_count") != j.end() && !j.at("open_issues_count").is_number_integer()) throw std::runtime_error("Expected integer");
17661782 x.set_open_issues_count(j.at("open_issues_count").get<int64_t>());
17671783 x.set_owner(j.at("owner").get<User>());
17681784 x.set_pulls_url(j.at("pulls_url").get<std::string>());
17691785 x.set_pushed_at(j.at("pushed_at").get<std::string>());
17701786 x.set_releases_url(j.at("releases_url").get<std::string>());
17711787 x.set_repo_private(j.at("private").get<bool>());
1788+ if (j.find("size") != j.end() && !j.at("size").is_number_integer()) throw std::runtime_error("Expected integer");
17721789 x.set_size(j.at("size").get<int64_t>());
17731790 x.set_ssh_url(j.at("ssh_url").get<std::string>());
1791+ if (j.find("stargazers_count") != j.end() && !j.at("stargazers_count").is_number_integer()) throw std::runtime_error("Expected integer");
17741792 x.set_stargazers_count(j.at("stargazers_count").get<int64_t>());
17751793 x.set_stargazers_url(j.at("stargazers_url").get<std::string>());
17761794 x.set_statuses_url(j.at("statuses_url").get<std::string>());
@@ -1782,7 +1800,9 @@ namespace quicktype {
17821800 x.set_trees_url(j.at("trees_url").get<std::string>());
17831801 x.set_updated_at(j.at("updated_at").get<std::string>());
17841802 x.set_url(j.at("url").get<std::string>());
1803+ if (j.find("watchers") != j.end() && !j.at("watchers").is_number_integer()) throw std::runtime_error("Expected integer");
17851804 x.set_watchers(j.at("watchers").get<int64_t>());
1805+ if (j.find("watchers_count") != j.end() && !j.at("watchers_count").is_number_integer()) throw std::runtime_error("Expected integer");
17861806 x.set_watchers_count(j.at("watchers_count").get<int64_t>());
17871807 }
17881808
@@ -1913,22 +1933,28 @@ namespace quicktype {
19131933
19141934 inline void from_json(const json & j, PayloadPullRequest& x) {
19151935 if (!j.is_object()) throw std::runtime_error("Expected object");
1936+ if (j.find("additions") != j.end() && !j.at("additions").is_number_integer()) throw std::runtime_error("Expected integer");
19161937 x.set_additions(j.at("additions").get<int64_t>());
19171938 x.set_assignee(get_untyped(j, "assignee"));
19181939 x.set_assignees(j.at("assignees").get<std::vector<nlohmann::json>>());
19191940 x.set_base(j.at("base").get<Base>());
19201941 x.set_body(j.at("body").get<std::string>());
1942+ if (j.find("changed_files") != j.end() && !j.at("changed_files").is_number_integer()) throw std::runtime_error("Expected integer");
19211943 x.set_changed_files(j.at("changed_files").get<int64_t>());
19221944 x.set_closed_at(j.at("closed_at").get<std::string>());
1945+ if (j.find("comments") != j.end() && !j.at("comments").is_number_integer()) throw std::runtime_error("Expected integer");
19231946 x.set_comments(j.at("comments").get<int64_t>());
19241947 x.set_comments_url(j.at("comments_url").get<std::string>());
1948+ if (j.find("commits") != j.end() && !j.at("commits").is_number_integer()) throw std::runtime_error("Expected integer");
19251949 x.set_commits(j.at("commits").get<int64_t>());
19261950 x.set_commits_url(j.at("commits_url").get<std::string>());
19271951 x.set_created_at(j.at("created_at").get<std::string>());
1952+ if (j.find("deletions") != j.end() && !j.at("deletions").is_number_integer()) throw std::runtime_error("Expected integer");
19281953 x.set_deletions(j.at("deletions").get<int64_t>());
19291954 x.set_diff_url(j.at("diff_url").get<std::string>());
19301955 x.set_head(j.at("head").get<Base>());
19311956 x.set_html_url(j.at("html_url").get<std::string>());
1957+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
19321958 x.set_id(j.at("id").get<int64_t>());
19331959 x.set_issue_url(j.at("issue_url").get<std::string>());
19341960 x.set_links(j.at("_links").get<Links>());
@@ -1941,11 +1967,13 @@ namespace quicktype {
19411967 x.set_merged_at(j.at("merged_at").get<std::string>());
19421968 x.set_merged_by(j.at("merged_by").get<User>());
19431969 x.set_milestone(get_untyped(j, "milestone"));
1970+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
19441971 x.set_number(j.at("number").get<int64_t>());
19451972 x.set_patch_url(j.at("patch_url").get<std::string>());
19461973 x.set_rebaseable(get_untyped(j, "rebaseable"));
19471974 x.set_requested_reviewers(j.at("requested_reviewers").get<std::vector<nlohmann::json>>());
19481975 x.set_review_comment_url(j.at("review_comment_url").get<std::string>());
1976+ if (j.find("review_comments") != j.end() && !j.at("review_comments").is_number_integer()) throw std::runtime_error("Expected integer");
19491977 x.set_review_comments(j.at("review_comments").get<int64_t>());
19501978 x.set_review_comments_url(j.at("review_comments_url").get<std::string>());
19511979 x.set_state(j.at("state").get<std::string>());
@@ -2008,16 +2036,20 @@ namespace quicktype {
20082036 x.set_comment(get_stack_optional<Comment>(j, "comment"));
20092037 x.set_commits(get_stack_optional<std::vector<Commit>>(j, "commits"));
20102038 x.set_description(get_stack_optional<std::string>(j, "description"));
2039+ if (j.find("distinct_size") != j.end() && !j.at("distinct_size").is_number_integer()) throw std::runtime_error("Expected integer");
20112040 x.set_distinct_size(get_stack_optional<int64_t>(j, "distinct_size"));
20122041 x.set_head(get_stack_optional<std::string>(j, "head"));
20132042 x.set_issue(get_stack_optional<Issue>(j, "issue"));
20142043 x.set_master_branch(get_stack_optional<std::string>(j, "master_branch"));
2044+ if (j.find("number") != j.end() && !j.at("number").is_number_integer()) throw std::runtime_error("Expected integer");
20152045 x.set_number(get_stack_optional<int64_t>(j, "number"));
20162046 x.set_pull_request(get_stack_optional<PayloadPullRequest>(j, "pull_request"));
2047+ if (j.find("push_id") != j.end() && !j.at("push_id").is_number_integer()) throw std::runtime_error("Expected integer");
20172048 x.set_push_id(get_stack_optional<int64_t>(j, "push_id"));
20182049 x.set_pusher_type(get_stack_optional<std::string>(j, "pusher_type"));
20192050 x.set_ref(get_stack_optional<std::string>(j, "ref"));
20202051 x.set_ref_type(get_stack_optional<std::string>(j, "ref_type"));
2052+ if (j.find("size") != j.end() && !j.at("size").is_number_integer()) throw std::runtime_error("Expected integer");
20212053 x.set_size(get_stack_optional<int64_t>(j, "size"));
20222054 }
20232055
@@ -2043,6 +2075,7 @@ namespace quicktype {
20432075
20442076 inline void from_json(const json & j, TopLevelRepo& x) {
20452077 if (!j.is_object()) throw std::runtime_error("Expected object");
2078+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
20462079 x.set_id(j.at("id").get<int64_t>());
20472080 x.set_name(j.at("name").get<std::string>());
20482081 x.set_url(j.at("url").get<std::string>());
Test case

test/inputs/json/samples/kitchen-sink.json

1 generated file · +2 −0
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -283,6 +283,7 @@ namespace quicktype {
283283
284284 inline void from_json(const json & j, PurplePerson& x) {
285285 if (!j.is_object()) throw std::runtime_error("Expected object");
286+ if (j.find("intOrString") != j.end() && !j.at("intOrString").is_number_integer()) throw std::runtime_error("Expected integer");
286287 x.set_int_or_string(j.at("intOrString").get<int64_t>());
287288 x.set_name(j.at("name").get<std::string>());
288289 }
@@ -299,6 +300,7 @@ namespace quicktype {
299300 x.set_date_value(j.at("dateValue").get<std::string>());
300301 x.set_different_things(j.at("differentThings").get<std::vector<DifferentThingElement>>());
301302 x.set_double_value(j.at("doubleValue").get<double>());
303+ if (j.find("intValue") != j.end() && !j.at("intValue").is_number_integer()) throw std::runtime_error("Expected integer");
302304 x.set_int_value(j.at("intValue").get<int64_t>());
303305 x.set_map_value(j.at("mapValue").get<std::map<std::string, std::optional<int64_t>>>());
304306 x.set_name_with_spaces(get_untyped(j, "name with spaces"));
Test case

test/inputs/json/samples/pokedex.json

3 generated files · +6 −0
Mcplusplus-multi-sourcedefault / Generators.hpp+2 −0
@@ -50,9 +50,11 @@ namespace quicktype {
5050 if (!j.is_object()) throw std::runtime_error("Expected object");
5151 x.set_avg_spawns(j.at("avg_spawns").get<double>());
5252 x.set_candy(j.at("candy").get<std::string>());
53+ if (j.find("candy_count") != j.end() && !j.at("candy_count").is_number_integer()) throw std::runtime_error("Expected integer");
5354 x.set_candy_count(get_stack_optional<int64_t>(j, "candy_count"));
5455 x.set_egg(j.at("egg").get<Egg>());
5556 x.set_height(j.at("height").get<std::string>());
57+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
5658 x.set_id(j.at("id").get<int64_t>());
5759 x.set_img(j.at("img").get<std::string>());
5860 x.set_multipliers(get_stack_optional<std::vector<double>>(j, "multipliers"));
Mcplusplusboost-true--bed8626e10e6 / quicktype.hpp+2 −0
@@ -253,9 +253,11 @@ namespace quicktype {
253253 if (!j.is_object()) throw std::runtime_error("Expected object");
254254 x.set_avg_spawns(j.at("avg_spawns").get<double>());
255255 x.set_candy(j.at("candy").get<std::string>());
256+ if (j.find("candy_count") != j.end() && !j.at("candy_count").is_number_integer()) throw std::runtime_error("Expected integer");
256257 x.set_candy_count(get_stack_optional<int64_t>(j, "candy_count"));
257258 x.set_egg(j.at("egg").get<Egg>());
258259 x.set_height(j.at("height").get<std::string>());
260+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
259261 x.set_id(j.at("id").get<int64_t>());
260262 x.set_img(j.at("img").get<std::string>());
261263 x.set_multipliers(get_stack_optional<std::vector<double>>(j, "multipliers"));
Mcplusplusdefault / quicktype.hpp+2 −0
@@ -252,9 +252,11 @@ namespace quicktype {
252252 if (!j.is_object()) throw std::runtime_error("Expected object");
253253 x.set_avg_spawns(j.at("avg_spawns").get<double>());
254254 x.set_candy(j.at("candy").get<std::string>());
255+ if (j.find("candy_count") != j.end() && !j.at("candy_count").is_number_integer()) throw std::runtime_error("Expected integer");
255256 x.set_candy_count(get_stack_optional<int64_t>(j, "candy_count"));
256257 x.set_egg(j.at("egg").get<Egg>());
257258 x.set_height(j.at("height").get<std::string>());
259+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
258260 x.set_id(j.at("id").get<int64_t>());
259261 x.set_img(j.at("img").get<std::string>());
260262 x.set_multipliers(get_stack_optional<std::vector<double>>(j, "multipliers"));
Test case

test/inputs/json/samples/reddit.json

1 generated file · +11 −0
Mcplusplusdefault / quicktype.hpp+11 −0
@@ -694,8 +694,10 @@ namespace quicktype {
694694
695695 inline void from_json(const json & j, Source& x) {
696696 if (!j.is_object()) throw std::runtime_error("Expected object");
697+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
697698 x.set_height(j.at("height").get<int64_t>());
698699 x.set_url(j.at("url").get<std::string>());
700+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
699701 x.set_width(j.at("width").get<int64_t>());
700702 }
701703
@@ -773,12 +775,16 @@ namespace quicktype {
773775 x.set_can_mod_post(j.at("can_mod_post").get<bool>());
774776 x.set_clicked(j.at("clicked").get<bool>());
775777 x.set_contest_mode(j.at("contest_mode").get<bool>());
778+ if (j.find("created") != j.end() && !j.at("created").is_number_integer()) throw std::runtime_error("Expected integer");
776779 x.set_created(j.at("created").get<int64_t>());
780+ if (j.find("created_utc") != j.end() && !j.at("created_utc").is_number_integer()) throw std::runtime_error("Expected integer");
777781 x.set_created_utc(j.at("created_utc").get<int64_t>());
778782 x.set_distinguished(get_stack_optional<std::string>(j, "distinguished"));
779783 x.set_domain(j.at("domain").get<Domain>());
784+ if (j.find("downs") != j.end() && !j.at("downs").is_number_integer()) throw std::runtime_error("Expected integer");
780785 x.set_downs(j.at("downs").get<int64_t>());
781786 x.set_edited(j.at("edited").get<bool>());
787+ if (j.find("gilded") != j.end() && !j.at("gilded").is_number_integer()) throw std::runtime_error("Expected integer");
782788 x.set_gilded(j.at("gilded").get<int64_t>());
783789 x.set_hidden(j.at("hidden").get<bool>());
784790 x.set_hide_score(j.at("hide_score").get<bool>());
@@ -793,6 +799,7 @@ namespace quicktype {
793799 x.set_media_embed(j.at("media_embed").get<MediaEmbed>());
794800 x.set_mod_reports(j.at("mod_reports").get<std::vector<nlohmann::json>>());
795801 x.set_name(j.at("name").get<std::string>());
802+ if (j.find("num_comments") != j.end() && !j.at("num_comments").is_number_integer()) throw std::runtime_error("Expected integer");
796803 x.set_num_comments(j.at("num_comments").get<int64_t>());
797804 x.set_num_reports(get_untyped(j, "num_reports"));
798805 x.set_over_18(j.at("over_18").get<bool>());
@@ -804,6 +811,7 @@ namespace quicktype {
804811 x.set_removal_reason(get_untyped(j, "removal_reason"));
805812 x.set_report_reasons(get_untyped(j, "report_reasons"));
806813 x.set_saved(j.at("saved").get<bool>());
814+ if (j.find("score") != j.end() && !j.at("score").is_number_integer()) throw std::runtime_error("Expected integer");
807815 x.set_score(j.at("score").get<int64_t>());
808816 x.set_secure_media(get_untyped(j, "secure_media"));
809817 x.set_secure_media_embed(j.at("secure_media_embed").get<MediaEmbed>());
@@ -817,9 +825,12 @@ namespace quicktype {
817825 x.set_subreddit_type(j.at("subreddit_type").get<SubredditType>());
818826 x.set_suggested_sort(get_untyped(j, "suggested_sort"));
819827 x.set_thumbnail(j.at("thumbnail").get<std::string>());
828+ if (j.find("thumbnail_height") != j.end() && !j.at("thumbnail_height").is_number_integer()) throw std::runtime_error("Expected integer");
820829 x.set_thumbnail_height(j.at("thumbnail_height").get<int64_t>());
830+ if (j.find("thumbnail_width") != j.end() && !j.at("thumbnail_width").is_number_integer()) throw std::runtime_error("Expected integer");
821831 x.set_thumbnail_width(j.at("thumbnail_width").get<int64_t>());
822832 x.set_title(j.at("title").get<std::string>());
833+ if (j.find("ups") != j.end() && !j.at("ups").is_number_integer()) throw std::runtime_error("Expected integer");
823834 x.set_ups(j.at("ups").get<int64_t>());
824835 x.set_url(j.at("url").get<std::string>());
825836 x.set_user_reports(j.at("user_reports").get<std::vector<nlohmann::json>>());
Test case

test/inputs/json/samples/simple-object.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -62,6 +62,7 @@ namespace quicktype {
6262
6363 inline void from_json(const json & j, TopLevel& x) {
6464 if (!j.is_object()) throw std::runtime_error("Expected object");
65+ if (j.find("date") != j.end() && !j.at("date").is_number_integer()) throw std::runtime_error("Expected integer");
6566 x.set_date(j.at("date").get<int64_t>());
6667 x.set_title(j.at("title").get<std::string>());
6768 x.set_validity(j.at("validity").get<bool>());
Test case

test/inputs/json/samples/spotify-album.json

1 generated file · +9 −0
Mcplusplusdefault / quicktype.hpp+9 −0
@@ -433,8 +433,10 @@ namespace quicktype {
433433
434434 inline void from_json(const json & j, Image& x) {
435435 if (!j.is_object()) throw std::runtime_error("Expected object");
436+ if (j.find("height") != j.end() && !j.at("height").is_number_integer()) throw std::runtime_error("Expected integer");
436437 x.set_height(j.at("height").get<int64_t>());
437438 x.set_url(j.at("url").get<std::string>());
439+ if (j.find("width") != j.end() && !j.at("width").is_number_integer()) throw std::runtime_error("Expected integer");
438440 x.set_width(j.at("width").get<int64_t>());
439441 }
440442
@@ -449,7 +451,9 @@ namespace quicktype {
449451 if (!j.is_object()) throw std::runtime_error("Expected object");
450452 x.set_artists(j.at("artists").get<std::vector<Artist>>());
451453 x.set_available_markets(j.at("available_markets").get<std::vector<std::string>>());
454+ if (j.find("disc_number") != j.end() && !j.at("disc_number").is_number_integer()) throw std::runtime_error("Expected integer");
452455 x.set_disc_number(j.at("disc_number").get<int64_t>());
456+ if (j.find("duration_ms") != j.end() && !j.at("duration_ms").is_number_integer()) throw std::runtime_error("Expected integer");
453457 x.set_duration_ms(j.at("duration_ms").get<int64_t>());
454458 x.set_external_urls(j.at("external_urls").get<ExternalUrls>());
455459 x.set_href(j.at("href").get<std::string>());
@@ -457,6 +461,7 @@ namespace quicktype {
457461 x.set_item_explicit(j.at("explicit").get<bool>());
458462 x.set_name(j.at("name").get<std::string>());
459463 x.set_preview_url(j.at("preview_url").get<std::string>());
464+ if (j.find("track_number") != j.end() && !j.at("track_number").is_number_integer()) throw std::runtime_error("Expected integer");
460465 x.set_track_number(j.at("track_number").get<int64_t>());
461466 x.set_type(j.at("type").get<std::string>());
462467 x.set_uri(j.at("uri").get<std::string>());
@@ -483,10 +488,13 @@ namespace quicktype {
483488 if (!j.is_object()) throw std::runtime_error("Expected object");
484489 x.set_href(j.at("href").get<std::string>());
485490 x.set_items(j.at("items").get<std::vector<Item>>());
491+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
486492 x.set_limit(j.at("limit").get<int64_t>());
487493 x.set_next(get_untyped(j, "next"));
494+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
488495 x.set_offset(j.at("offset").get<int64_t>());
489496 x.set_previous(get_untyped(j, "previous"));
497+ if (j.find("total") != j.end() && !j.at("total").is_number_integer()) throw std::runtime_error("Expected integer");
490498 x.set_total(j.at("total").get<int64_t>());
491499 }
492500
@@ -514,6 +522,7 @@ namespace quicktype {
514522 x.set_id(j.at("id").get<std::string>());
515523 x.set_images(j.at("images").get<std::vector<Image>>());
516524 x.set_name(j.at("name").get<std::string>());
525+ if (j.find("popularity") != j.end() && !j.at("popularity").is_number_integer()) throw std::runtime_error("Expected integer");
517526 x.set_popularity(j.at("popularity").get<int64_t>());
518527 x.set_release_date(j.at("release_date").get<std::string>());
519528 x.set_release_date_precision(j.at("release_date_precision").get<std::string>());
Test case

test/inputs/json/samples/us-avg-temperatures.json

1 generated file · +1 −0
Mcplusplusdefault / quicktype.hpp+1 −0
@@ -124,6 +124,7 @@ namespace quicktype {
124124 inline void from_json(const json & j, Description& x) {
125125 if (!j.is_object()) throw std::runtime_error("Expected object");
126126 x.set_base_period(j.at("base_period").get<std::string>());
127+ if (j.find("missing") != j.end() && !j.at("missing").is_number_integer()) throw std::runtime_error("Expected integer");
127128 x.set_missing(j.at("missing").get<int64_t>());
128129 x.set_title(j.at("title").get<std::string>());
129130 x.set_units(j.at("units").get<std::string>());
Test case

test/inputs/json/samples/us-senators.json

1 generated file · +4 −0
Mcplusplusdefault / quicktype.hpp+4 −0
@@ -448,8 +448,11 @@ namespace quicktype {
448448
449449 inline void from_json(const json & j, Meta& x) {
450450 if (!j.is_object()) throw std::runtime_error("Expected object");
451+ if (j.find("limit") != j.end() && !j.at("limit").is_number_integer()) throw std::runtime_error("Expected integer");
451452 x.set_limit(j.at("limit").get<int64_t>());
453+ if (j.find("offset") != j.end() && !j.at("offset").is_number_integer()) throw std::runtime_error("Expected integer");
452454 x.set_offset(j.at("offset").get<int64_t>());
455+ if (j.find("total_count") != j.end() && !j.at("total_count").is_number_integer()) throw std::runtime_error("Expected integer");
453456 x.set_total_count(j.at("total_count").get<int64_t>());
454457 }
455458
@@ -482,6 +485,7 @@ namespace quicktype {
482485 if (!j.is_object()) throw std::runtime_error("Expected object");
483486 x.set_bioguideid(j.at("bioguideid").get<std::string>());
484487 x.set_birthday(j.at("birthday").get<std::string>());
488+ if (j.find("cspanid") != j.end() && !j.at("cspanid").is_number_integer()) throw std::runtime_error("Expected integer");
485489 x.set_cspanid(j.at("cspanid").get<int64_t>());
486490 x.set_firstname(j.at("firstname").get<std::string>());
487491 x.set_gender(j.at("gender").get<Gender>());
Test case

test/inputs/schema/class-map-union.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -137,6 +137,7 @@ struct adl_serializer<std::variant<bool, quicktype::UnionClass, double, std::str
137137 namespace quicktype {
138138 inline void from_json(const json & j, UnionClass& x) {
139139 if (!j.is_object()) throw std::runtime_error("Expected object");
140+ if (j.find("quux") != j.end() && !j.at("quux").is_number_integer()) throw std::runtime_error("Expected integer");
140141 x.set_quux(get_stack_optional<int64_t>(j, "quux"));
141142 }
Test case

test/inputs/schema/const-non-string.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -77,6 +77,7 @@ namespace quicktype {
7777
7878 inline void from_json(const json & j, TopLevel& x) {
7979 if (!j.is_object()) throw std::runtime_error("Expected object");
80+ if (j.find("amount") != j.end() && !j.at("amount").is_number_integer()) throw std::runtime_error("Expected integer");
8081 x.set_amount(j.at("amount").get<int64_t>());
8182 x.set_enabled(j.at("enabled").get<bool>());
8283 x.set_kind(j.at("kind").get<Kind>());
Test case

test/inputs/schema/cut-enum.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -52,6 +52,7 @@ namespace quicktype {
5252
5353 inline void from_json(const json & j, TopLevel& x) {
5454 if (!j.is_object()) throw std::runtime_error("Expected object");
55+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
5556 x.set_foo(j.at("foo").get<int64_t>());
5657 }
Test case

test/inputs/schema/default-value.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -55,6 +55,7 @@ namespace quicktype {
5555
5656 inline void from_json(const json & j, TopLevel& x) {
5757 if (!j.is_object()) throw std::runtime_error("Expected object");
58+ if (j.find("id") != j.end() && !j.at("id").is_number_integer()) throw std::runtime_error("Expected integer");
5859 x.set_id(j.at("id").get<int64_t>());
5960 }
Test case

test/inputs/schema/id-no-address.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -52,6 +52,7 @@ namespace quicktype {
5252
5353 inline void from_json(const json & j, TopLevel& x) {
5454 if (!j.is_object()) throw std::runtime_error("Expected object");
55+ if (j.find("item") != j.end() && !j.at("item").is_number_integer()) throw std::runtime_error("Expected integer");
5556 x.set_item(j.at("item").get<int64_t>());
5657 }
Test case

test/inputs/schema/id-root.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -52,6 +52,7 @@ namespace quicktype {
5252
5353 inline void from_json(const json & j, TopLevel& x) {
5454 if (!j.is_object()) throw std::runtime_error("Expected object");
55+ if (j.find("bar") != j.end() && !j.at("bar").is_number_integer()) throw std::runtime_error("Expected integer");
5556 x.set_bar(j.at("bar").get<int64_t>());
5657 }
Test case

test/inputs/schema/implicit-all-of.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -62,6 +62,7 @@ namespace quicktype {
6262
6363 inline void from_json(const json & j, TopLevel& x) {
6464 if (!j.is_object()) throw std::runtime_error("Expected object");
65+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
6566 x.set_foo(j.at("foo").get<int64_t>());
6667 x.set_bar(j.at("bar").get<bool>());
6768 x.set_quux(j.at("quux").get<std::string>());
Test case

test/inputs/schema/implicit-class-array-union.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -135,6 +135,7 @@ struct adl_serializer<std::variant<std::vector<int64_t>, bool, quicktype::FooCla
135135 namespace quicktype {
136136 inline void from_json(const json & j, FooClass& x) {
137137 if (!j.is_object()) throw std::runtime_error("Expected object");
138+ if (j.find("bar") != j.end() && !j.at("bar").is_number_integer()) throw std::runtime_error("Expected integer");
138139 x.set_bar(j.at("bar").get<int64_t>());
139140 }
Test case

test/inputs/schema/implicit-one-of.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -119,6 +119,7 @@ namespace quicktype {
119119
120120 inline void from_json(const json & j, TopLevel& x) {
121121 if (!j.is_object()) throw std::runtime_error("Expected object");
122+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
122123 x.set_foo(j.at("foo").get<int64_t>());
123124 x.set_bar(get_stack_optional<bool>(j, "bar"));
124125 x.set_quux(get_stack_optional<std::string>(j, "quux"));
Test case

test/inputs/schema/integer-type.schema

1 generated file · +9 −0
Mschema-cplusplusdefault / quicktype.hpp+9 −0
@@ -240,14 +240,23 @@ namespace quicktype {
240240
241241 inline void from_json(const json & j, TopLevel& x) {
242242 if (!j.is_object()) throw std::runtime_error("Expected object");
243+ if (j.find("above_i32_max") != j.end() && !j.at("above_i32_max").is_number_integer()) throw std::runtime_error("Expected integer");
243244 x.set_above_i32_max(j.at("above_i32_max").get<int64_t>());
245+ if (j.find("below_i32_min") != j.end() && !j.at("below_i32_min").is_number_integer()) throw std::runtime_error("Expected integer");
244246 x.set_below_i32_min(j.at("below_i32_min").get<int64_t>());
247+ if (j.find("i32_range") != j.end() && !j.at("i32_range").is_number_integer()) throw std::runtime_error("Expected integer");
245248 x.set_i32_range(j.at("i32_range").get<int64_t>());
249+ if (j.find("large_bounds") != j.end() && !j.at("large_bounds").is_number_integer()) throw std::runtime_error("Expected integer");
246250 x.set_large_bounds(j.at("large_bounds").get<int64_t>());
251+ if (j.find("only_maximum") != j.end() && !j.at("only_maximum").is_number_integer()) throw std::runtime_error("Expected integer");
247252 x.set_only_maximum(j.at("only_maximum").get<int64_t>());
253+ if (j.find("only_minimum") != j.end() && !j.at("only_minimum").is_number_integer()) throw std::runtime_error("Expected integer");
248254 x.set_only_minimum(j.at("only_minimum").get<int64_t>());
255+ if (j.find("small_negative") != j.end() && !j.at("small_negative").is_number_integer()) throw std::runtime_error("Expected integer");
249256 x.set_small_negative(j.at("small_negative").get<int64_t>());
257+ if (j.find("small_positive") != j.end() && !j.at("small_positive").is_number_integer()) throw std::runtime_error("Expected integer");
250258 x.set_small_positive(j.at("small_positive").get<int64_t>());
259+ if (j.find("unbounded") != j.end() && !j.at("unbounded").is_number_integer()) throw std::runtime_error("Expected integer");
251260 x.set_unbounded(j.at("unbounded").get<int64_t>());
252261 }
Test case

test/inputs/schema/minmax-integer.schema

1 generated file · +8 −0
Mschema-cplusplusdefault / quicktype.hpp+8 −0
@@ -231,13 +231,21 @@ namespace quicktype {
231231
232232 inline void from_json(const json & j, TopLevel& x) {
233233 if (!j.is_object()) throw std::runtime_error("Expected object");
234+ if (j.find("free") != j.end() && !j.at("free").is_number_integer()) throw std::runtime_error("Expected integer");
234235 x.set_free(j.at("free").get<int64_t>());
236+ if (j.find("intersection") != j.end() && !j.at("intersection").is_number_integer()) throw std::runtime_error("Expected integer");
235237 x.set_intersection(j.at("intersection").get<int64_t>());
238+ if (j.find("max") != j.end() && !j.at("max").is_number_integer()) throw std::runtime_error("Expected integer");
236239 x.set_max(j.at("max").get<int64_t>());
240+ if (j.find("min") != j.end() && !j.at("min").is_number_integer()) throw std::runtime_error("Expected integer");
237241 x.set_min(j.at("min").get<int64_t>());
242+ if (j.find("minmax") != j.end() && !j.at("minmax").is_number_integer()) throw std::runtime_error("Expected integer");
238243 x.set_minmax(j.at("minmax").get<int64_t>());
244+ if (j.find("minMaxIntersection") != j.end() && !j.at("minMaxIntersection").is_number_integer()) throw std::runtime_error("Expected integer");
239245 x.set_min_max_intersection(j.at("minMaxIntersection").get<int64_t>());
246+ if (j.find("minMaxUnion") != j.end() && !j.at("minMaxUnion").is_number_integer()) throw std::runtime_error("Expected integer");
240247 x.set_min_max_union(j.at("minMaxUnion").get<int64_t>());
248+ if (j.find("union") != j.end() && !j.at("union").is_number_integer()) throw std::runtime_error("Expected integer");
241249 x.set_top_level_union(j.at("union").get<int64_t>());
242250 }
Test case

test/inputs/schema/non-standard-ref.schema

1 generated file · +2 −0
Mschema-cplusplusdefault / quicktype.hpp+2 −0
@@ -62,7 +62,9 @@ namespace quicktype {
6262
6363 inline void from_json(const json & j, TopLevel& x) {
6464 if (!j.is_object()) throw std::runtime_error("Expected object");
65+ if (j.find("bar") != j.end() && !j.at("bar").is_number_integer()) throw std::runtime_error("Expected integer");
6566 x.set_bar(j.at("bar").get<int64_t>());
67+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
6668 x.set_foo(j.at("foo").get<int64_t>());
6769 x.set_quux(j.at("quux").get<bool>());
6870 }
Test case

test/inputs/schema/optional-const-ref.schema

1 generated file · +2 −0
Mschema-cplusplusdefault / quicktype.hpp+2 −0
@@ -316,9 +316,11 @@ namespace quicktype {
316316 inline void from_json(const json & j, TopLevel& x) {
317317 if (!j.is_object()) throw std::runtime_error("Expected object");
318318 x.set_coordinates(get_stack_optional<std::vector<Coordinate>>(j, "coordinates"));
319+ if (j.find("count") != j.end() && !j.at("count").is_number_integer()) throw std::runtime_error("Expected integer");
319320 x.set_count(get_stack_optional<int64_t>(j, "count"));
320321 x.set_label(get_stack_optional<std::string>(j, "label"));
321322 x.set_required_coordinates(j.at("requiredCoordinates").get<std::vector<Coordinate>>());
323+ if (j.find("requiredCount") != j.end() && !j.at("requiredCount").is_number_integer()) throw std::runtime_error("Expected integer");
322324 x.set_required_count(j.at("requiredCount").get<int64_t>());
323325 x.set_required_label(j.at("requiredLabel").get<std::string>());
324326 x.set_weight(get_stack_optional<double>(j, "weight"));
Test case

test/inputs/schema/optional-constraints.schema

1 generated file · +2 −0
Mschema-cplusplusdefault / quicktype.hpp+2 −0
@@ -272,9 +272,11 @@ namespace quicktype {
272272 inline void from_json(const json & j, TopLevel& x) {
273273 if (!j.is_object()) throw std::runtime_error("Expected object");
274274 x.set_opt_double(get_stack_optional<double>(j, "optDouble"));
275+ if (j.find("optInt") != j.end() && !j.at("optInt").is_number_integer()) throw std::runtime_error("Expected integer");
275276 x.set_opt_int(get_stack_optional<int64_t>(j, "optInt"));
276277 x.set_opt_pattern(get_stack_optional<std::string>(j, "optPattern"));
277278 x.set_opt_string(get_stack_optional<std::string>(j, "optString"));
279+ if (j.find("reqZeroMin") != j.end() && !j.at("reqZeroMin").is_number_integer()) throw std::runtime_error("Expected integer");
278280 x.set_req_zero_min(j.at("reqZeroMin").get<int64_t>());
279281 }
Test case

test/inputs/schema/ref-id-files.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -52,6 +52,7 @@ namespace quicktype {
5252
5353 inline void from_json(const json & j, TopLevel& x) {
5454 if (!j.is_object()) throw std::runtime_error("Expected object");
55+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
5556 x.set_foo(j.at("foo").get<int64_t>());
5657 }
Test case

test/inputs/schema/required-non-properties.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -57,6 +57,7 @@ namespace quicktype {
5757
5858 inline void from_json(const json & j, TopLevel& x) {
5959 if (!j.is_object()) throw std::runtime_error("Expected object");
60+ if (j.find("foo") != j.end() && !j.at("foo").is_number_integer()) throw std::runtime_error("Expected integer");
6061 x.set_foo(j.at("foo").get<int64_t>());
6162 x.set_bar(get_untyped(j, "bar"));
6263 }
Test case

test/inputs/schema/union.schema

1 generated file · +1 −0
Mschema-cplusplusdefault / quicktype.hpp+1 −0
@@ -121,6 +121,7 @@ namespace quicktype {
121121
122122 inline void from_json(const json & j, TopLevelElement& x) {
123123 if (!j.is_object()) throw std::runtime_error("Expected object");
124+ if (j.find("one") != j.end() && !j.at("one").is_number_integer()) throw std::runtime_error("Expected integer");
124125 x.set_one(get_stack_optional<int64_t>(j, "one"));
125126 x.set_two(j.at("two").get<bool>());
126127 x.set_three(get_stack_optional<double>(j, "three"));
No generated files match these filters.