diff --git a/modules/openapi-generator/src/main/resources/r/model.mustache b/modules/openapi-generator/src/main/resources/r/model.mustache index 9c41f3a034c4..7217a6575532 100644 --- a/modules/openapi-generator/src/main/resources/r/model.mustache +++ b/modules/openapi-generator/src/main/resources/r/model.mustache @@ -157,8 +157,8 @@ } {{/vars}} }, - toJSONString = function() { - sprintf( + toJSONString = function() { + outstring = sprintf( '{ {{#vars}} "{{baseName}}": @@ -181,24 +181,32 @@ {{/vars}} }', {{#vars}} + {{! Added the if else condition to handle null values}} + if (!is.null(self$`{{baseName}}`)) { {{#isListContainer}} {{#isPrimitiveType}} - paste(unlist(lapply(self$`{{{baseName}}}`, function(x) paste0('"', x, '"'))), collapse=","){{#hasMore}},{{/hasMore}} + paste(unlist(lapply(self$`{{{baseName}}}`, function(x) paste0('"', x, '"'))), collapse=",") {{/isPrimitiveType}} {{^isPrimitiveType}} - paste(unlist(lapply(self$`{{{baseName}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE))), collapse=","){{#hasMore}},{{/hasMore}} + paste(unlist(lapply(self$`{{{baseName}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE))), collapse=",") {{/isPrimitiveType}} {{/isListContainer}} {{^isListContainer}} {{#isPrimitiveType}} - self$`{{baseName}}`{{#hasMore}},{{/hasMore}} + self$`{{baseName}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - jsonlite::toJSON(self$`{{baseName}}`$toJSON(), auto_unbox=TRUE){{#hasMore}},{{/hasMore}} + jsonlite::toJSON(self$`{{baseName}}`$toJSON(), auto_unbox=TRUE) {{/isPrimitiveType}} {{/isListContainer}} + } + else{ + "null" + }{{#hasMore}},{{/hasMore}} {{/vars}} ) + outstring = gsub("[\r\n]| ", "", outstring) + gsub(':\\[null\\]|:\\\"null\\\"',':null',outstring) }, fromJSONString = function({{classname}}Json) { {{classname}}Object <- jsonlite::fromJSON({{classname}}Json)