diff --git a/source/common/json/json_loader.cc b/source/common/json/json_loader.cc index ecf618c3770b..8a4a79d9cafb 100644 --- a/source/common/json/json_loader.cc +++ b/source/common/json/json_loader.cc @@ -307,6 +307,10 @@ void Field::buildRapidJsonDocument(const Field& field, rapidjson::Value& value, } break; } + case Type::Null: { + value.SetNull(); + break; + } default: NOT_REACHED; } diff --git a/test/common/json/json_loader_test.cc b/test/common/json/json_loader_test.cc index e2bcebcfe659..df0978aceb11 100644 --- a/test/common/json/json_loader_test.cc +++ b/test/common/json/json_loader_test.cc @@ -445,6 +445,11 @@ TEST(JsonLoaderTest, YamlObject) { } } +TEST(JsonLoaderTest, YamlAsJsonString) { + const Json::ObjectSharedPtr json = Json::Factory::loadFromYamlString(""); + EXPECT_EQ(json->asJsonString(), "null"); +} + TEST(JsonLoaderTest, BadYamlException) { std::string bad_yaml = R"EOF( admin: