diff --git a/include/dbus_utility.hpp b/include/dbus_utility.hpp
index 68b3930..50d75c5 100644
--- a/include/dbus_utility.hpp
+++ b/include/dbus_utility.hpp
@@ -59,7 +59,6 @@
     uint16_t,
     uint8_t,
     bool,
-    sdbusplus::message::unix_fd,
     std::vector<uint32_t>,
     std::vector<uint16_t>,
     sdbusplus::message::object_path,
@@ -70,7 +69,15 @@
     std::vector<std::tuple<uint32_t, size_t>>,
     std::vector<std::tuple<
       std::vector<std::tuple<sdbusplus::message::object_path, std::string>>,
-      std::string, std::string, uint64_t>>
+      std::string, std::string, uint64_t>>,
+    std::vector<std::pair<sdbusplus::message::object_path, std::string>>,
+
+    // TODO This needs looked at.  It's used in the trigger system, but a
+    // variant of a variant seems really odd
+    std::variant<
+                 std::vector<std::tuple<std::string, uint64_t, std::string, double>>,
+                 std::vector<std::tuple<std::string, std::string, uint64_t, std::string>>
+                >
  >;
 
 // clang-format on
diff --git a/include/openbmc_dbus_rest.hpp b/include/openbmc_dbus_rest.hpp
index 8a6830e..c35a2be 100644
--- a/include/openbmc_dbus_rest.hpp
+++ b/include/openbmc_dbus_rest.hpp
@@ -66,6 +66,19 @@
 #include <variant>
 #include <vector>
 
+namespace nlohmann
+{
+template <typename... Args>
+struct adl_serializer<std::variant<Args...>>
+{
+    // NOLINTNEXTLINE(readability-identifier-naming)
+    static void to_json(json& j, const std::variant<Args...>& args)
+    {
+        std::visit([&j](auto&& val) { j = val; }, args);
+    }
+};
+} // namespace nlohmann
+
 namespace crow
 {
 namespace openbmc_mapper
@@ -204,20 +217,8 @@
             for (const auto& [name, value] : propertiesList)
             {
                 nlohmann::json& propertyJson = objectJson[name];
-                std::visit(
-                    [&propertyJson](auto&& val) {
-                        if constexpr (std::is_same_v<
-                                          std::decay_t<decltype(val)>,
-                                          sdbusplus::message::unix_fd>)
-                        {
-                            propertyJson = val.fd;
-                        }
-                        else
-                        {
-                            propertyJson = val;
-                        }
-                    },
-                    value);
+                std::visit([&propertyJson](auto&& val) { propertyJson = val; },
+                           value);
             }
         });
 }
