将存储在 hiddenput 中的地图转换为 JS 中的 JSON

Converting a map stored in hiddenput to JSON in JS

我正在 JSP 中的 hiddeninput 元素中存储一个 Hashmap

如何在我的 javascript 中将其解析为 JSON 对象??

当我在我的 JS 输出中打印隐藏的输入变量值是这样的:

{zipcode=560036, fmid=xyz, quantity=1}

最好从服务器传递一个 JSON string 以便您可以轻松解析。如果您有一个像这样的简单对象结构(您的示例),您可以尝试拆分它并获取 eack key/value 对。这是一个例子

var mapAsStr = "{zipcode=560036, fmid=xyz, quantity=1}";
var convertToObj = function(str) {
    var obj = {};
    str.replace(/\{|\}/g, '').split(',').forEach(function(pair) {
        var keyVal = pair.split("=");
        var key = keyVal[0].trim();
        var val = keyVal[1].trim();
        val = isNaN(val) ? val : parseFloat(val);
        obj[key] = val;
    });
    return obj;
}
console.log(convertToObj(mapAsStr));

但请注意,只有当您拥有具有原始值的平面对象结构时,您才能继续执行此操作。