javascript - 如何在javascript中将表单转换为Json数组

标签 javascript jquery arrays json jsonp

我正在尝试将表单结果转换为下面的这种格式。

{
  "project": {
    "id": 5,
    "name": "max",
    "identifier": "max_project",
    "description": "This is description",
  }
}

但是结果是这样的,

{name: "max", identifier: "max_project", description: "This is description"}

请帮助我更正代码以获得预期结果。我正在尝试以 jsonp 格式发布结果。

$("#submit").on('click', function() {
  var data = {};

  $("#form").serializeArray().map(function(x) {
    data[x.name] = x.value;
  });
  console.log(data);
})
<form id="form" action="submit" method="post">
  Name:
  <input type="text" name="name">
  <br>identifier:
  <input type="text" name="identifier">
  <br>description:
  <textarea type="text" name="description"></textarea>
  <br>
  <input id="submit" type="button" name="submit" value="submit">
</form>

最佳答案

实现结果的最简单解决方案如下

$("#submit").on('click', function() {
  var data = {project:{}};

  $("#form").serializeArray().map(function(x) {
    data["project"][x.name] = x.value;
  });
  console.log(data);
})

或者你这样做的方式但是把它放在另一个散列中

$("#submit").on('click', function() {
  var project = {};

  $("#form").serializeArray().map(function(x) {
    project[x.name] = x.value;
  });
  var data = {project: project}
  console.log(data);
})

有很多方法可以达到相同的结果

关于javascript - 如何在javascript中将表单转换为Json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34104280/

相关文章:

javascript - (Discord.js) 机器人删除所有发布的 URL

javascript - 如何在 material-ui App Bar 中对齐元素?

javascript - 在 Jest 测试中重置 ajax 模拟调用计数

javascript - 为什么不能在vue模板中使用window?

php - jQuery 和 php 图像旋转拼图

javascript - 使用js获取嵌套数组对象的句柄

javascript - 在对象数组中,返回任何值与特定字符串匹配的对象

c - C中递归查找数组中重复条目的方法

jquery - 为什么 show() 只适用于使用内联 css 隐藏的字段?

javascript - 了解 carousel.js 中 e 的用法