`
li370604005
  • 浏览: 46779 次
  • 性别: Icon_minigender_1
  • 来自: 盐城
社区版块
存档分类
最新评论

关于如何将form表单中的元素转为JSON字符串

 
阅读更多

 

$.fn.serializeObject = function(){
     var obj = {};
     var count = 0;
     $.each( this.serializeArray(), function(i,o){
         var n = o.name, v = o.value;
         count++;
         obj[n] = obj[n] === undefined ? v: $.isArray( obj[n] ) ? obj[n].concat( v ): [ obj[n], v ];
     });
     obj.nameCounts = count + "";//表单name个数
     return JSON.stringify(obj);
 };

 

 

 

PS: Jquery自带了一些序列化的方法:

       其中一个是form.serializeArray();

       这个方法的结果很蛋疼,转成了如下的格式:


           
      显然我已经不知所措了。

       第二个是form.serialize();

       这个方法就是序列化,和一般的格式一样:

emp.empid=&emp.empname=2&emp.sex=F&emp.orgid=1&emp.empcode=123&emp.postcode=3&emp.address=123&emp.phone=4&emp.wage=123

       但是还不是我们想要的json格式。

        在网上找到了一个有解释的结果:其实还是使用serializeArray()方法,这个方法将form中的元素转化成了一个包含name,value的一个对象。同时还是一个数组。

    

var o  申明一个对象。
var a  取得选择对象的数组对象
$.each(a,function() 遍历这个数组对象
if(o[this.name])  如果这个对象的名称不存在
 if(!o[this.name].push)如果这个对象没被放进去, 后面的 如果对象被放进去了。o[this.name].push()取得当前的名称对应的值放到对象里。
else  后面的为如果对象名称存在,覆盖之前的值。

 转化出来的结果如:

{"emp.empid":"","emp.empname":"魏都区","emp.sex":"M","emp.orgid":"12","emp.empcode":"123","emp.postcode":"312","emp.address":"123","emp.phone":"123","emp.wage":"123","nameCounts":"9"}

 

  • 大小: 2.8 KB
分享到:
评论

相关推荐

    form数据与json对象的互相转换(完整版)

    1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传给服务器,从而可以实现无刷新的form提交。; 2、通过AJAX从服务器得到json格式的数据,然后使用本工具解析数据填入form。从而可以实现无刷新的...

    html对应的文件中 将form 表单数据 转化为json 格式

    本篇将详细介绍如何在HTML表单中收集数据,并利用jQuery的`ajax`方法将这些数据转化为JSON格式,以便于插入Oracle数据库。 首先,让我们了解一下HTML表单的基本结构。一个简单的HTML表单可能包含以下元素: ```...

    将web Form 的数据转化成json字符串及json对象进行处理的JS

    在Web开发中,经常需要将用户在HTML表单(Form)中输入的数据转换为JSON格式,以便于数据传输和处理。这个过程涉及到JavaScript语言的一些核心概念,如DOM操作、对象和数组操作以及JSON对象的使用。以下是对这个主题...

    使用json数据生成表单页面

    在Web开发中,动态生成表单页面是一种常见的需求,特别是在数据驱动的...通过查看源码,你可以更深入地了解如何将JSON数据与动态生成的表单页面相结合,这将有助于提升你在JavaScript开发中处理表单输入控件的能力。

    使用JQuery实现从JSON对象转换为form提交数据

    在前端开发中,有时我们需要将JSON格式的数据转换成表单(form)的格式进行提交,以便于服务器端处理。在JavaScript的世界里,jQuery库提供了一种便捷的方式来进行这样的转换。本篇文章将深入探讨如何利用jQuery从...

    表单中的Json格式数据使用方法

    本篇文章将详细介绍如何在HTML5表单中使用JSON格式的数据,并提供一个具体的实例来展示其实际应用。 首先,JSON格式是一种基于文本的、易于人阅读和编写的格式,主要由键值对组成,键用引号包围,值可以是字符串、...

    jQuery扩展将复杂form表单转成json对象

    在标题和描述提到的场景中,我们需要创建一个jQuery扩展,将复杂的form表单数据转换为JSON对象。这通常涉及到遍历表单元素,获取它们的值,并构建JSON对象。以下是一个简单的示例: ```javascript (function($) { ...

    使用JavaScript构建JSON格式字符串实现步骤

    如果你现在正在使用Restful API,并且你需要通过web项目来构建json格式字符串的响应,那么这篇文章将帮助你使用javascript来创建json格式字符串。这是非常有用的,我们将通过jQuery插件$.toJSON把数据对象转换为json...

    jQuery实现form表单元素序列化为json对象的方法

    这个过程包括了选择表单元素、序列化为数组、处理同名元素以及将数据结构转换为JSON格式。这个方法不仅适用于简单的表单,也能够处理更复杂的情况,如多选下拉框和复选框组。理解并掌握这种技巧,对于编写高效、简洁...

    js获取form表单中name属性的值

    今天我们将探讨如何使用JavaScript来获取form表单中name属性的值,并且着重讲解在动态表单的情况下,当无法预先确定标签的name属性值时,如何即时获取这些值以便进行存储或处理。 在文章中首先提到的方法是使用...

    form表单数据封装成json格式并提交给服务器的实现方法

    我们可以使用`FormData`对象来获取表单中的所有数据,然后利用`jQuery`或者原生JavaScript的`querySelectorAll`等方法遍历表单元素,将每个字段的值与对应的键组合成键值对,最后用`JSON.stringify()`函数将对象转换...

    Vue 实现把表单form数据 转化成json格式的数据

    在Vue.js开发中,处理表单数据是常见的需求,尤其是当需要将表单数据转换为JSON格式以便于发送到服务器或者进行其他处理时。本文将详细介绍如何在Vue中实现这一功能。 首先,我们要理解表单数据通常是通过HTML的`...

    c#下post multipart/form-data和JSON

    在C#中,我们可以使用`Newtonsoft.Json`库(Json.NET)或者内置的`System.Text.Json`来序列化对象为JSON字符串。 1. 序列化对象为JSON:首先,定义一个C#对象,然后使用Json.NET的`JsonConvert.SerializeObject`...

    将JavaScript的jQuery库中表单转化为JSON对象的方法

    大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法。不过,我们可以写一个插件实现。   我在网上看到有人用替换的方法,先用serialize序列化后,将&替换...

    js获取form表单

    根据提供的标题“js获取form表单”及描述“ajax js一次性获取form表单”,我们可以明确本篇文章将围绕JavaScript(简称JS)中如何通过Ajax技术一次性获取HTML中的`<form>`表单数据进行详细介绍。 #### 二、知识点...

    c#模拟post发送json和multipart/form-data格式

    要将一个C#对象序列化为JSON字符串,可以使用`JsonConvert.SerializeObject()`方法;反序列化则使用`JsonConvert.DeserializeObject()`。 例如: ```csharp using Newtonsoft.Json; public class User { public ...

    SpringCloud Finchley Gateway 缓存请求Body和Form表单的实现

    对于JSON Body,我们可以读取并转换为字符串,而对于FormData,我们需要将其转换为`MultiValueMap`并存储在`GatewayContext`中。同时,由于FormData和Body只能读取一次,因此在读取后,我们需要重新包装`...

    form表单转Json提交的方法(推荐)

    在jQuery中,`$("#form").serializeArray()`方法可以将表单中的所有元素转换为一个数组,其中每个元素都是一个对象,包含`name`和`value`属性。这个数组的结构类似于: ```javascript [ { "name": "element1Name...

Global site tag (gtag.js) - Google Analytics