将存储在 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));
但请注意,只有当您拥有具有原始值的平面对象结构时,您才能继续执行此操作。
我正在 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));
但请注意,只有当您拥有具有原始值的平面对象结构时,您才能继续执行此操作。