Javascript将表单序列化为对象

Fal*_*con 6 javascript forms serialization

我有名字的表格'config[display][x]', 'config[display][y]', 'config[port]',...,或者我可以创建不同的格式。我想将它序列化为 JS 对象,例如

{config:
    display : {x : 'value', y : 'value'},
    port : 'value'
}
Run Code Online (Sandbox Code Playgroud)

有人知道现有的解决方案吗?

ps 我可以使用 jQuery 的 .serializeArray() 序列化表单,但我将拥有带有简单 {name : name, value : value} 散列的数组。但是如何创建对象呢?

Zac*_*ach 0

要将 JavaScript 对象序列化为字符串,请使用:

var str = JSON.stringify(obj);
Run Code Online (Sandbox Code Playgroud)

要将字符串反序列化为 JavaScript 对象,请使用:

var obj = JSON.parse(str);
Run Code Online (Sandbox Code Playgroud)

如果您使用的旧版浏览器不支持这些方法,则可以使用Douglas Crockford 的JSON2库。