PEL: Print Failing MTMS section into JSON

Remove any trailing whitespace for serial number.

"Failing MTMS": {
    "Section Version":          "1",
    "Sub-section type":         "0",
    "Created by":               "0x4552",
    "Machine Type Model":       "OPWR-131",
    "Serial Number":            "1318ABA"
},

Testing: Manually run peltool and verified output. All unit tests
passed.
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: I7a05790bdf406ef6d7946ffae831a45ee6dd5cda
diff --git a/extensions/openpower-pels/failing_mtms.cpp b/extensions/openpower-pels/failing_mtms.cpp
index d4cdf37..b45c05d 100644
--- a/extensions/openpower-pels/failing_mtms.cpp
+++ b/extensions/openpower-pels/failing_mtms.cpp
@@ -15,6 +15,7 @@
  */
 #include "failing_mtms.hpp"
 
+#include "json_utils.hpp"
 #include "pel_types.hpp"
 
 #include <phosphor-logging/log.hpp>
@@ -85,5 +86,19 @@
     stream >> _header >> _mtms;
 }
 
+std::optional<std::string> FailingMTMS::getJSON() const
+{
+    std::string json;
+    jsonInsert(json, "Section Version", getNumberString("%d", _header.version),
+               1);
+    jsonInsert(json, "Sub-section type", getNumberString("%d", _header.subType),
+               1);
+    jsonInsert(json, "Created by", getNumberString("0x%X", _header.componentID),
+               1);
+    jsonInsert(json, "Machine Type Model", _mtms.machineTypeAndModel(), 1);
+    jsonInsert(json, "Serial Number", trimEnd(_mtms.machineSerialNumber()), 1);
+    json.erase(json.size() - 2);
+    return json;
+}
 } // namespace pels
 } // namespace openpower