diff --git a/redfish-core/lib/redfish_v1.hpp b/redfish-core/lib/redfish_v1.hpp
index de205f0..e9dd422 100644
--- a/redfish-core/lib/redfish_v1.hpp
+++ b/redfish-core/lib/redfish_v1.hpp
@@ -11,6 +11,7 @@
 #include "query.hpp"
 #include "registries/privilege_registry.hpp"
 #include "str_utility.hpp"
+#include "utils/json_utils.hpp"
 
 #include <boost/beast/http/field.hpp>
 #include <boost/beast/http/status.hpp>
@@ -99,7 +100,6 @@
     json["@odata.type"] = "#JsonSchemaFileCollection.JsonSchemaFileCollection";
     json["Name"] = "JsonSchemaFile Collection";
     json["Description"] = "Collection of JsonSchemaFiles";
-    nlohmann::json::array_t members;
 
     std::error_code ec;
     std::filesystem::directory_iterator dirList(
@@ -109,6 +109,8 @@
         messages::internalError(asyncResp->res);
         return;
     }
+
+    std::vector<std::string> schemaNames;
     for (const std::filesystem::path& file : dirList)
     {
         std::string filename = file.filename();
@@ -118,12 +120,18 @@
         {
             continue;
         }
+        schemaNames.emplace_back(split[0]);
+    }
+    std::ranges::sort(schemaNames, AlphanumLess<std::string>());
+
+    nlohmann::json::array_t members;
+    for (const std::string& schema : schemaNames)
+    {
         nlohmann::json::object_t member;
         member["@odata.id"] =
-            boost::urls::format("/redfish/v1/JsonSchemas/{}", split[0]);
+            boost::urls::format("/redfish/v1/JsonSchemas/{}", schema);
         members.emplace_back(std::move(member));
     }
-
     json["Members@odata.count"] = members.size();
     json["Members"] = std::move(members);
 }
