当前位置: 首页 > 知识库问答 >
问题:

将表单数据序列化为JSON[重复]

金嘉言
2023-03-14

我想在Backbone.js模型中对表单进行一些服务器前验证。要做到这一点,我需要将用户输入从表单转换为可用的数据。我找到了三种方法来做到这一点:

  1. var input=$(“#inputid”).val();
  2. var input=$(“form.login”).serialize();
  3. var input=$(“form.login”).serializearray();

不幸的是,没有一个提供我所需要的好的可扩展和可开发的JSON对象。我已经查看了几个关于Stack ;溢出的问题,但我只发现了一些额外的库。

underscore.js、当前的jQuery或backbone.js是否提供了一个helper方法?

<form class="login">
    <label for="_user_name">username:</label>
    <input type="text" id="_user_name" name="user[name]" value="dev.pus" />
    <label for="_user_pass">password:</label>
    <input type="password" id="_user_pass" name="user[pass]" value="1234" />
    <button type="submit">login</button>
</form>
var formData = $("form.login").serializeObject();
console.log(formData);

产出

{
    "name": "dev.pus",
    "pass": "1234"
}

backbone.js模型

var user = new User(formData);
user.save();

共有1个答案

卢勇
2023-03-14

下面是这个用例的一个函数:

function getFormData($form){
    var unindexed_array = $form.serializeArray();
    var indexed_array = {};

    $.map(unindexed_array, function(n, i){
        indexed_array[n['name']] = n['value'];
    });

    return indexed_array;
}

用法:

var $form = $("#form_data");
var data = getFormData($form);
 类似资料:
  • 问题内容: 我正在客户端和Django服务器之间发送信息,并且我想对此使用JSON。我正在发送简单的信息-字符串列表。我尝试使用,但是当我这样做时, 看来这只能用于Django对象。如何序列化简单的Python对象? 问题答案: 你可以使用纯Python执行此操作:

  • 问题内容: 我想在Play2中将Scala对象列表反序列化为JSON映射-我说这是JSON的一个非常简单的用例。我的JSON输出如下所示: 为此,我正在看Play2的JSON文档 “ The Play JSON library” 。对我来说,他们的例子非常琐碎,我已经证实它们对我有用。因此,我能够正确地反序列化单个对象。 但是,当我阅读文档时,在Play2中制作包含JSON列表的映射似乎有些冗长。

  • 问题内容: 我用过这种方法 它正在打印“ jsonObject为null”。 “ error:nil”有什么问题吗? 我没有使用任何网址或连接方法。 我有一个json文件,我想在表中显示它。 问题答案: 请尝试以下代码。

  • 我是一个新手,正在尝试编写一个简单的应用程序,从大学校中提取一些学校数据。组织。json数据如下所示: 我的结构如下所示: 当我运行代码时,我得到“json:无法将对象解组为[]main.SchoolStruct类型的Go值” 我正在使用gopencils库来提出我的请求,并成功地将其用于非常简单的请求。你知道我可能做错了什么吗?

  • 问题内容: 我是JSON的新手,请帮忙! 我正在尝试序列化为JSON 目前: 预期: 这是我的KeyValuePairJsonConverter:JsonConverter 我从这样的WebService方法调用它 问题答案: 您可以使用Newtonsoft和字典: 输出为: 编辑 感谢 @Sergey Berezovskiy 提供的信息。 您当前正在使用Newtonsoft,因此只需将其更改为并

  • 问题内容: 我在Web API项目中使用了Dictionary,该项目的序列化方式类似于JSON: 因为我有重复的键,所以我不能再使用Dictionary类型,而现在我正在使用 但这是以这种方式序列化的: 有没有办法像字典一样进行序列化? 谢谢。 问题答案: 如果您使用Newtonsoft Json.NET库,则可以执行以下操作。 定义一个转换器,以所需的方式写入键/值对的列表: 然后使用转换器: