diff --git a/src/codegen_json_bson/__init__.py b/src/codegen_json_bson/__init__.py
index 905e17a371c53cb703245bb359edc619b653a2cd..3b6ddcd86a3c00d86936e1b4d9f5c0e8a1886993 100644
--- a/src/codegen_json_bson/__init__.py
+++ b/src/codegen_json_bson/__init__.py
@@ -451,6 +451,7 @@ def field_assignment_get_json_value(field, ty, fieldtype, name):
         listprefix = "// "
     if ty == "list":
         res = listprefix
+        res += f'res["{field}"] = Json::arrayValue;'
         res += f'for (unsigned int i=0; i<msg.{field}.size(); i++) {{'
         res += f'res["{field}"][i] = get_json_value(msg.{field}[i]);'
         res += '}'